文件名称:ViewPager或ImgeView加载图片出现内存溢出(OOM)
文件大小:2.32MB
文件格式:RAR
更新时间:2019-02-21 07:25:33
加载图片 内存溢出 OOM
使用setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。解决方案:改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 source。decodeStream最大的优势在于其直接调用nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap,从而节省了java层的空间。
【文件预览】:
viewpager_demo
----bin()
--------classes.dex(681KB)
--------res()
--------jarlist.cache(120B)
--------dexedLibs()
--------classes()
--------resources.ap_(288KB)
--------viewpager_demo.apk(523KB)
--------AndroidManifest.xml(895B)
----res()
--------drawable-ldpi()
--------values-v11()
--------menu()
--------values-v14()
--------drawable-hdpi()
--------drawable-xhdpi()
--------drawable()
--------drawable-xxhdpi()
--------values()
--------drawable-mdpi()
--------layout()
--------values-w820dp()
----proguard-project.txt(781B)
----ic_launcher-web.png(50KB)
----assets()
----gen()
--------com()
----.settings()
--------org.eclipse.jdt.core.prefs(177B)
----src()
--------com()
----.project(850B)
----.classpath(475B)
----project.properties(563B)
----AndroidManifest.xml(895B)
----libs()
--------android-support-v4.jar(613KB)