作者bbonline229 (bbonline229)
看板MacDev
標題[問題] 讀取幾十張大圖片造成記憶體暴增
時間Thu Jun 14 02:48:40 2018
各位前輩好, 小弟最近在練習寫個 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.70.39.237
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1528915723.A.87F.html
※ 編輯: bbonline229 (61.70.39.237), 06/14/2018 02:50:06
※ 編輯: bbonline229 (61.70.39.237), 06/14/2018 03:00:05
※ 編輯: bbonline229 (61.70.39.237), 06/14/2018 03:03:03
→ ssds: educe-image-size-before-upload 試試這個嗎 不知道畫質就是 06/14 08:10
推 Blueshiva: 記憶體沒放掉而已 06/14 09:54
→ yuanruo: return 那段用autoreleasepool closure 包起來回傳 06/14 12:23
→ yuanruo: 或是用ImageIO 自己處理CGImage再轉回data 06/14 12:25
推 gundam00: 用UIImageJPEGRepresentation壓看看 06/14 13:36
推 gundam00: 會反覆讀的話就要用Cache呀...不然每次init又沒release 06/14 13:39
→ gundam00: 一定會爆掉的 06/14 13:39
→ bbonline229: 感謝前輩建議 06/15 15:35
推 poorenglish: 請看WWDC 2018 session 416 06/18 21:50
→ bbonline229: 謝謝, 處理圖片真複雜, 有空花時間研究下 06/19 03:46