编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/index.html
这一章节会介绍一些处理与加载Bitmap对象的常用方法,这些技术能够使得程序的UI不会被卡到,并且可以避免程序超出内存限制。如果你不注意这些,Bitmaps会迅速的消耗你可用的内存从而导致程序crash,出现下面的异常:java.lang.OutofMemoryError: bitmap size exceeds VM budget.
在你的Android程序中加载Bitmaps的操作是需要特别小心处理的,有下面几个方面的原因:
2592*1936*4
bytes) 的内存, 这样的话会迅速消耗掉这个程序的剩余内存空间。高效的加载大图(Loading Large Bitmaps Efficiently)
这节课会带领你学习如何解析很大的Bitmaps并且避免超出程序的内存限制。
非UI线程处理Bitmap(Processing Bitmaps Off the UI Thread)
处理Bitmap(裁剪,下载等操作)不能执行在主线程。这节课会带领你学习如何使用AsyncTask在后台线程对Bitmap进行处理,并解释如何处理并发带来的问题。
这节课会带领你学习如何使用内存与磁盘缓存来提升加载多张Bitmaps时的响应速度与流畅度。
管理Bitmap占用的内存(Managing Bitmap Memory)
这节课会介绍为了最大化程序的性能如何管理Bitmap的内存占用。
在UI上显示Bitmap(Displaying Bitmaps in Your UI)
这节课会把前面介绍的内容综合起来,演示如何在类似ViewPager与GridView的控件中使用后台线程与缓存进行加载多张Bitmaps。