首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Bit地图s图片泄露有关问题

2012-09-19 
Bitmaps图片泄露问题class ImageManager {private HashMapInteger, Bitmap mBitmapsprivate HashMapIn

Bitmaps图片泄露问题

class ImageManager {    private HashMap<Integer, Bitmap> mBitmaps;    private HashMap<Integer, Drawable> mDrawables;    private boolean mActive = true;    public ImageManager() {        mBitmaps = new HashMap<Integer, Bitmap>();        mDrawables = new HashMap<Integer, Drawable>();    }    // We need to share and cache resources between objects to save on memory.    public Bitmap getBitmap(int resource) {        if (mActive) {            if (!mBitmaps.containsKey(resource)) {                mBitmaps.put(resource,                    BitmapFactory.decodeResource(MainActivity.getContext().getResources(), resource));            }            return mBitmaps.get(resource);        }        return null;    }    public Drawable getDrawable(int resource) {        if (mActive) {            if (!mDrawables.containsKey(resource)) {                mDrawables.put(resource, mGame.getView().getResources().getDrawable(resource));            }            return mDrawables.get(resource);        }        return null;    }    public void recycleBitmaps() {        Iterator itr = mBitmaps.entrySet().iterator();        while (itr.hasNext()) {            Map.Entry e = (Map.Entry)itr.next();            ((Bitmap) e.getValue()).recycle();        }        mBitmaps.clear();    }    public ImageManager setActive(boolean b) {        mActive = b;        return this;    }    public boolean isActive() {        return mActive;    }}

?http://blog.pseudoblue.com/2010/08/15/android-bitmaps-and-memory-leaks/

热点排行