关于堆问题和内存泄漏,
我阅读了以下强调为处理程序部分创建静态类的文章:
下面的代码是否容易堆内存泄漏?
///////////////////Handler 1
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (x == 1) {
///////////////////Handler 2
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if(y == 1) {
///////////////////Handler 3
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//Do work A
}
}, 1000);
}
else
{
// do work B
}
}
}, 1000);
}
else
{
// do work B
}
}
}, 1000);发布于 2018-09-17 10:40:52
我做了一个验证测试,结果是上面的代码没有被LeakCanary检测到内存泄漏(为了确保LeakCanary工作正常,我使用了另一个泄漏的Handle问题样本,并检测到了该Handle的泄漏)。
我还不能描述确切的区别
https://stackoverflow.com/questions/52297363
复制相似问题