Re: [問題] viewPager Imageview OOM

作者: sdyy (中壢市的小智)   2014-06-10 22:16:18
直接回一篇好了
在這邊會發生OOM,其實是因為viewpager的頁面資源不會被釋放
從你的例子來看,你每多讀一張Bitmap,就多佔一份記憶體
你雖然有在destroyitem時,去做釋放的動作,
但很可惜當你在一直滑動,讀取新的頁面時,
舊的頁面並不會立即被釋放,然後也就OOM。
簡單的解決方法是,不要直接用viewpager+view
改用viewpager+fragment
然後當fragment進入 onpause時,立即釋放Bitmap,
更好一點的做法,用cache管理Bitmap,
onpause時,取消view跟Bitmap的關聯,也就是設為null
然後在cache裡面判定是否需要釋放Bitmap
作者: issuemylove (NotLove)   2014-06-11 11:03:00
看到這系列文章不經又想起 out of memory 永遠的痛XD
作者: fake01 (假面超人)   2014-06-11 11:11:00
謝謝 s大,今天突然想到原來是layout沒有釋放掉完全跟s大講的一樣 通靈成功我是使用 viewpager+fragment,是放的時候只做了bitmap忘記釋放 layout..

Links booklink

Contact Us: admin [ a t ] ucptt.com