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