众所周知 Android 内存分配比较蛋疼,过多的加载Bitmap,如果不处理好会造成很头疼的问题---------OutofMemoryError.
造成这个问题的大致就那么几个原因:
第一:移动设备的资源是有限的,对于单个应用程序,系统虚拟机通常会分配16M,当然现在基本都是32M,甚至有64M的。但是资源还是有限制的,需要注意。
第二:Bitmap本身就会消耗很大内存,特别是色彩丰富的,比如单反相机拍的,像素高的手机拍的照片都会很大。官方文档给了个例子。一台Galaxy Nexus手机,拍张照片为2592*1936像素,如果加载这张图片则需要消耗的内存为2596*1936*4大约为19M。几张程序就崩溃了。
第三:一般来说Android程序会频繁的加载几张图片,比如一些控件:"ListView,GridView,ViewPager..."。用户使用中会经常的滑动屏幕,会频繁的加载不同的图片,如此处理好图片的问题就十分重要了,不光是程序的稳定性,图文更能提高用户体验。
一下几篇文章是我通过阅读官方API的理解,分为5个小节。
本文探讨了Android应用程序中常见的内存管理问题,特别是在处理大量Bitmap时容易引发的OutofMemoryError错误。文章分析了移动设备资源限制、Bitmap内存占用特性及频繁图片加载的影响,并提出了优化建议。
5242

被折叠的 条评论
为什么被折叠?



