Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone IOS:活体和活体的内存问题_Iphone_Ios_Objective C_Memory Management_Uiscrollview - Fatal编程技术网

Iphone IOS:活体和活体的内存问题

Iphone IOS:活体和活体的内存问题,iphone,ios,objective-c,memory-management,uiscrollview,Iphone,Ios,Objective C,Memory Management,Uiscrollview,我有一个使用UICollectionView开发的图像库。在我从多媒体资料中选择多个图像并按“完成”后。选定的图像将显示在UIScrollView(分页打开)中,这些图像是全屏图像,可以上下滚动查看其他图像 1) 启动应用程序时,有这么多的活动对象和堆分配可以吗 2) 当我选择并滚动查看UIScrollView的图像时,为图像分配的内存将添加到内存中,而不会释放。它将使应用程序崩溃 下面是我开始上下滚动图像时的屏幕。它还会增加其他进程的内存消耗 这是在iPhone5上进行的测试,使用活动监

我有一个使用
UICollectionView
开发的图像库。在我从多媒体资料中选择多个图像并按“完成”后。选定的图像将显示在
UIScrollView
(分页打开)中,这些图像是全屏图像,可以上下滚动查看其他图像

1) 启动应用程序时,有这么多的活动对象和堆分配可以吗

2) 当我选择并滚动查看
UIScrollView
的图像时,为图像分配的内存将添加到内存中,而不会释放。它将使应用程序崩溃

下面是我开始上下滚动图像时的屏幕。它还会增加其他进程的内存消耗

这是在iPhone5上进行的测试,使用活动监视器虚拟机和真实内存


分析内存是一件棘手的事情。实际使用的最佳工具是活动监视器,它会告诉您实际使用了多少活动内存,而分配则会告诉您比您需要知道的更多


此外,最大内存量取决于每个设备。如果你真的想知道你是否使用了大量的内存,只需在设备上测试它。您通常具有很大的灵活性,内部UIImage类为您进行了大量奇特的缓存和清除所述缓存。

为什么不尝试一次加载3个图像,而不是一次加载整个图像集呢


我的意思是,您可以设置滚动视图数组,并向其中添加与要显示的图像数量相同的
[NSNull null]
对象。然后,在特定实例中,该数组中只有3个图像,滚动后删除不必要的图像或将其替换为
[NSNull null]
对象。

查看我的编辑,我使用了活动监视器,它还显示内存增加。