项目优化 : Android中回收图片内存, setImageResourcesetBackgroundResource占用内存大

Posted Mars-xq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目优化 : Android中回收图片内存, setImageResourcesetBackgroundResource占用内存大相关的知识,希望对你有一定的参考价值。

工具类:


import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.widget.ImageView;

public class ImageUtil 
    private static final String TAG = ImageUtil.class.getSimpleName();

    public static void releaseImageViewResource(ImageView imageView) 
        if (imageView != null) 
            Drawable background = imageView.getBackground();
            Drawable drawable = imageView.getDrawable();
            imageView = null;

            if (background instanceof BitmapDrawable) 
                BitmapDrawable bitmapDrawable = (BitmapDrawable) background;
                Bitmap bitmap = bitmapDrawable.getBitmap();
                bitmapDrawable = null;
                if (bitmap != null && !bitmap.isRecycled()) 
                    bitmap.recycle();
                    bitmap = null;
                
            

            if (drawable instanceof BitmapDrawable) 
                BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
                Bitmap bitmap = bitmapDrawable.getBitmap();
                bitmapDrawable = null;
                if (bitmap != null && !bitmap.isRecycled()) 
                    bitmap.recycle();
                    bitmap = null;
                
            
        
    


以上是关于项目优化 : Android中回收图片内存, setImageResourcesetBackgroundResource占用内存大的主要内容,如果未能解决你的问题,请参考以下文章

BitMap 内存使用优化

Android内存优化相关

Android内存优化五:Bitmap优化

Android内存优化1 了解java GC 垃圾回收机制3

Android内存优化1 了解java GC 垃圾回收机制1

Android性能优化之内存泄漏