Chr*_*son 4 android garbage-collection
有没有人知道GC运行时是否有办法识别(在代码中,而不是LogCat)?也许一个意图被解雇了?我可以分析LogCat输出,但如果我可以确定GC何时从我的代码中运行,那将是理想的.
你可以用一个弱参考技巧来做到这一点:
WeakReference<GcWatcher> mGcWatcher
= new WeakReference<GcWatcher>(new GcWatcher());
long mLastGcTime;
class GcWatcher {
@Override
protected void finalize() throws Throwable {
handleGc();
mLastGcTime = SystemClock.uptimeMillis();
mGcWatcher = new WeakReference<GcWatcher>(new GcWatcher());
}
}
Run Code Online (Sandbox Code Playgroud)
现在......对于应用程序来说,这是否真的正确,是另一回事.:)我知道在Android中我们所做的任何地方的唯一地方就是这里的代码,它的唯一目的是帮助我们明智地询问流程何时明确GC,例如当他们进入后台时.
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |