[问题] 读取几十张大图片造成内存暴增

楼主: bbonline229 (bbonline229)   2018-06-14 02:48:40
各位前辈好, 小弟最近在练习写个 app 上架
遇到一个很大的问题
此app 会需要一次读出 Bundle 里大约十张图片
然后在 Collection View显示
图片都已经在压缩网站压缩过了, 目前一张都大概2、300Kb
反复读几次结果造成内存暴增, 超过1G
https://i.imgur.com/MJnVKIm.png
还几次app 直接Crash 掉 QQ
对内存目前没太大研究
这情形是不是要用 cache 之类的
还是要怎样才能改善内存暴增的问题
图片已经压缩到最小了
一次读出 Bundle 的图档程式码如下
https://i.imgur.com/PsH6Isa.png
作者: ssds (useful)   2018-06-14 08:09:00
https://stackoverflow.com/questions/43256005/swift-ios-reduce-image-size-before-upload 试试这个吗 不知道画质就是
作者: Blueshiva (龙野南云)   2018-06-14 09:54:00
内存没放掉而已
作者: yuanruo (罪を憎んで人を憎まず)   2018-06-14 12:23:00
return 那段用autoreleasepool closure 包起来回传或是用ImageIO 自己处理CGImage再转回data
作者: gundam00 (傻那驾驶中)   2018-06-14 13:36:00
用UIImageJPEGRepresentation压看看会反复读的话就要用Cache呀...不然每次init又没release一定会爆掉的
楼主: bbonline229 (bbonline229)   2018-06-15 15:35:00
感谢前辈建议
作者: poorenglish (英文菜)   2018-06-18 21:50:00
请看WWDC 2018 session 416
作者: xpop777 (Archie)   2018-06-18 22:15:00
楼主: bbonline229 (bbonline229)   2018-06-19 03:46:00
谢谢, 处理图片真复杂, 有空花时间研究下

Links booklink

Contact Us: admin [ a t ] ucptt.com