我在UIScrollView中有3个UIImages,我正在按以下方式初始化这些图像:
UIImage *dimage = [[UIImage alloc] initWithData:data];
数据是来自网址请求的NSdata。在此之后,我正在缓存图像。 当我检查内存分配时,3个图像每个占用472 Kb,并且CoreGraphics库中的“img_data_lock”请求分配。 当我在磁盘缓存上检查该映像的大小时,每个都是230Kb。
我不知道如何占用更多空间。我希望我的问题很明确。
答案 0 :(得分:0)
不确定您正在查看的“磁盘缓存”,但内存和磁盘使用情况只是微弱相关。用于创建UIImage的数据只是对象实际使用的数据的一部分。这意味着活动对象可以使用比创建它的数据更多的内存。
为了使事情进一步复杂化,UIImage将在低内存情况下清除图像数据,因此UIImage对象的大小在其存在的过程中可能会有很大差异。