关于堆问题和内存泄漏,
我阅读了以下文章,其中强调了为处理程序部分创建静态类:
boolean indexing
下面的代码是否容易发生堆内存泄漏?
///////////////////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);
答案 0 :(得分:0)
我进行了一次证明测试,结果是LeakCanary
的上述代码没有检测到内存泄漏(为确保LeakCanary
正常工作,我使用了另一个{{1 }}问题,并且检测到该Handle
)泄漏
我还无法描述确切的区别