获取引用计数以从近距离调用中检查到finalize()

时间:2013-07-23 14:22:41

标签: android memory-management bitmap out-of-memory

我正在尝试最近几天解决Dalvik VM内存错误,错误是分配的位图内存不会被GC解除分配。这是一个众所周知的漏洞。

我要做的是创建对象 - 包含1 bitamp的SmartBitmap并实现:

@Override
protected void finalize() throws Throwable {
    super.finalize();
    // bitmap.finalize()
    Log.d("SmartBitmap", "inside finalize");
}

public void recycle() {
            super.recycle();
    bitmap.recycle();
            bitmap = null;
            Log.d("SmartBitmap", "inside recycle");
}

我的目标是从近距离观察应用程序中的所有位图都获得了recycle()以及那些获得GC的finalyze()。我不能调用位图的finalyze(),因为它是私有的,但我假设我的对象的finalyze()将同时被称为(我使用位图通过它)。

问题是除了finalyze()之外,只有当位图的引用计数为0时才会被调用,而且我找不到获取引用计数的方法。

0 个答案:

没有答案