歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android關於Bitmap內存溢出的一點想法

對於任何手機來說,內存管理至關重要,不管是Android還是iphone,在程序中及時回收資源,可以防止內存的溢出.

例如:

  1. for(int i = 0; i < list.size(); i++){  
  2.         Bitmap bitmap = loadImageFromUrl(list.get(i));  
  3.         ImageView imageView = new ImageView(this);  
  4.         imageView.setImageBitmap(bitmap);  
  5.         mImages[i] = imageView;  
  6.     }  
  7.       

這裡對於Bitmap就沒有很好回收和利用,因為是循環,所以Bitmap就可以放到外部,讓程序重復利用,而不需要每次都創建一個新的Bitmap對象,而且如果在內部作好資源回收利用的話,那就不用擔心內存溢出了.

改動後的程序:

  1. Bitmap bitmap = null  
  2.     for(int i = 0; i < list.size(); i++){  
  3.         bitmap = loadImageFromUrl(list.get(i));  
  4.         ImageView imageView = new ImageView(this);  
  5.         imageView.setImageBitmap(bitmap);  
  6.         mImages[i] = imageView;  
  7.           
  8.         if(!bitmap.isRecycled() && bitmap != null){  
  9.             bitmap.recycle();  
  10.             bitmap = null;  
  11.         }  
  12.     }  

只是做了小小的改動,但對於程序的內存來說,那可是很好的利用。

 

Copyright © Linux教程網 All Rights Reserved