我正在加载100s 4k-8k png文件(768 * 768分辨率),总计不到1mg。
虽然我确实将它们转换为UIImage并偶尔调整/组合图像,但是 我很惊讶看到ipad设备因图像加载导致的内存警告而死亡。
转换为UIImage会占用比文件实际字节大小多得多的内存吗?
谢谢。
答案 0 :(得分:3)
那是因为png被解压缩到内存中,占用更多内存。每个解压缩的图像最多需要768 * 768 * 4 = 2.25 MB的内存。
答案 1 :(得分:0)
如果图像不是全部用于同时显示,您可能需要考虑如何加载图像。这里和其他地方有很多关于此的主题,例如this thread。
UIImage imageNamed
将缓存图像(有时Apple的缓存略有错误,无法正常释放),而UIImage imageWithData
则不会,因此一旦不再显示,内存将被释放。根据您的具体情况,两者都有优点和缺点,因此请尽量了解差异。