1

我有返回的方法,Drawable如果它的Bitmap对象被回收,那么它会重新加载。

public Drawable getLogo() {
    if(logo == null || Util.isRecycled(logo)) //Util.isRecycled checks - is Drawable's bitmap recycled, if it had so
        logo = CacheController.getInstance().getLogo(this);

    return logo;
}

但看起来就像在调用bitmap.recycle()它之后bitmap.isRecycled()仍然返回false。我是对的,位图回收过程是异步进行的,还是只是我的代码中的错误?如果是这样,我如何确保Bitmap现在没有回收?

4

1 回答 1

1

如果您尝试为位图实现一些缓存机制,则不必检查它是否被回收。只需从缓存中检索它,如果它的数据结构中没有对它的引用,缓存将再次创建它。请参阅本教程了解如何缓存位图http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

于 2012-06-21T02:04:22.970 回答