通过子线程传递消息,主线程中handler接受消息更新UI 带来的内存泄露问题,如何解决

请教一个问题:
伪代码:
public class MainActivity{
new Thread(){
void run(){
...
handler.sendMessage();
}
}
private handler = new Handler(){
handMessage(){
更新UI操作;
}
}
}

这时提示handler会造成内存泄露,解决内存泄露需要重写Handler,实例化弱引用,这时重写的Handler为static,不能进行一些UI相关的操作,如Toast.(MainActivity,"",LENGTH_SHORT).show();

那怎样通过handler传递的数据更新UI,同时规避内存泄露问题

2个回答

我也不知道,,,,,,,,,,

不应该会产生内村泄露的问题,在队列里取出之后应该GCROOT就查找不到了,应该就回收了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐