編寫:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/index.html
這一章節會介紹一些處理與加載Bitmap對象的常用方法,這些技術能夠使得程序的UI不會被阻塞,並且可以避免程序超出內存限制。如果我們不注意這些,Bitmaps會迅速的消耗掉可用內存從而導致程序崩潰,出現下面的異常: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。