Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 回收ImageView占用的圖像內存,imageview占用圖像

回收ImageView占用的圖像內存,imageview占用圖像

編輯:關於android開發

回收ImageView占用的圖像內存,imageview占用圖像


 

使用方法: RecycleBitmap.recycleImageView(mSelectorView);   參數為imageview

/**
* 回收ImageView占用的圖像內存;
* 使用了本方法之後,記得用一下
* System.gc(); 提醒系統及時回收

* @param view
* 在setImageResource()方法前面還沒有bitmap,圖片可以出來。
* 在其後面執行本方法的話,圖片就不會顯示出來。
* 在setImageBitmap()方法的前面還沒有bitmap,圖片可以出來。
* 在其後面執行本方法的話,圖片就不會顯示出來。
* 最好在onDestroy方法中執行本方法
*/

public static void recycleImageView(View view){
        if(view==null) return;
        if(view instanceof ImageView){
            Drawable drawable=((ImageView) view).getDrawable();
            if(drawable instanceof BitmapDrawable){
                Bitmap bmp = ((BitmapDrawable)drawable).getBitmap();
                if (bmp != null && !bmp.isRecycled()){
                    ((ImageView) view).setImageBitmap(null);
                    bmp.recycle();
                    log("have recycled ImageView Bitmap");
                    bmp=null;
                }
            }
        }
    }

 

 

 

使用方法:  RecycleBitmap.recycleBitmap(mNo_shop1Bitmap);  參數為bitmap

/**
* 可以釋放到Bitmap在C層申請的內存,recycle方法會把一些相關的引用計數置0.
* 回收Bitmap占用的圖像內存;
* 使用了本方法之後,記得用一下
* System.gc(); 提醒系統及時回收
* @param bitmap
* 在setImageBitmap()方法的前面和後面都會報異常,最好在onDestroy方法中執行
* RuntimeException:trying to use a recycled bitmap android.graphics.Bitmap@41c124e8
*/

 public static void recycleBitmap(Bitmap bitmap){
            if(bitmap!=null&&!bitmap.isRecycled()){
               bitmap.recycle() ;  //回收圖片所占的內存
               log("have recycled Bitmap");
               bitmap=null;
         }
    }

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved