我有一个使用UICollectionView
开发的图片库。从图库中选择多个图像并按“完成”后。选定的图像将显示在UIScrollView
(寻呼上),这些是可以向上/向下滚动以查看其他图像的全屏图像。
1)启动应用程序时,是否可以拥有这么多的活动对象和堆分配。'
2)当我选择并滚动UIScrollView
分配的内存图像时,图像将被添加到内存而不是释放。它会使应用程序崩溃。
以下是我开始向上/向下滚动图像时的屏幕。它会增加内存消耗以及其他进程。
这是在iPhone5上进行测试,使用活动监视器VM和Real内存。
答案 0 :(得分:1)
为什么不尝试一次加载图像3,而不是一次加载整个图像。
我的意思是你可以设置你的Scroll Views数组并添加尽可能多的[NSNull null]
个对象作为要显示的图像数量。然后,在特定实例中,该数组中只有3个图像,滚动后删除不必要的图像或用[NSNull null]
个对象替换它。
答案 1 :(得分:0)
分析内存很棘手。实际使用的最佳工具是活动监视器,它将告诉您实际使用的内存量,与分配不同,分配将告诉您超出您需要知道的内容。
此外,最大内存量取决于每个设备。如果你真的想知道你是否使用了大量内存,只需在设备上进行测试即可。你通常有很大的灵活性,内部UIImage类为你做了很多花哨的缓存和清除缓存。