我正在开发包含本地 SQLite 数据库的应用程序,我在其中存储和检索图像并显示到我的应用程序中。
现在我的问题是我在目录中存储了大量图像,并将其路径存储到数据库中。因此,当我从数据库中检索该路径并将图像加载到应用程序中时,每个图像的内存最多增加 10-20 Mb。
我也尝试将图像数据存储到数据库中,但同样的问题,每个图像的内存增加 10-20 Mb。
请问这个内存问题我该怎么办?
帮帮我吧
Best Answer-推荐答案 strong>
在应用程序中使用图像时,可能需要比持久存储中的 Assets 大小可能建议的更多的内存。资源经常被压缩(例如 JPG 或 PNG),但当您使用图像时,它们是未压缩的,通常每个像素需要 4 个字节(红色、绿色、蓝色和 alpha 分别为一个字节)。因此,例如,当您使用图像时,iPhone 7+ 全屏视网膜图像可能需要 14mb。因此,节省内存的技术是使用延迟加载,而不是在绝对需要它们之前创建 UIImage 对象。而且,正如 Jerry 所建议的那样,因为内存量取决于图像的大小而不是您使用图像的 ImageView ,如果您的图像的尺寸大于 UIImageView 所需的尺寸,其中您使用它们(即 ImageView 的宽度和高度乘以设备的“比例”),您可能需要相应地调整图像大小。
关于ios - 从数据库存储和检索图像时的内存问题,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/40071814/
|