内容概述
[翻译]开发文档:android Bitmap的高效使用
本文内容来自开发文档“Traning > Displaying Bitmaps Efficiently”,包括大尺寸Bitmap的高效加载,图片的异步加载和数据缓存。
Bitmap的处理和加载非常重要,这关系到app的流畅运行和内存占用,如果方法不当,很容易导致界面卡顿和OOM。其中的原因大致有:
android系统对进程的内存分配限制,移动设备的配置较低。
Bitmap会消耗很大内存。比如相机拍下的 2592x1936 像素的照片,以ARGB_8888 格式一次加载到内存,将占据19M(259219364 bytes)的内存!
通常像ListView,GridView,ViewPager这样的UI元素会同时显示或预加载多个View,这导致内存中同时需要多个Bitmaps。
下面从几个方面来分析如何高效的使用图片。
高效地加载大图
原始图片和最终显示它的View对应,一般要比显示它的View的大小要大,一些拍摄的照片甚至要比手机的屏幕分辨率还要大得多。
原则上“显示多少加载多少”,没有必要加载一个分辨率比将要显示的分辨
