这种代码会导致Android内存泄露吗?
class MyActivity extends Activity {
Runnable myRunnable =new Runnable() {
public void run() {
// Do something here
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
Handler = new Handler();
Handler.postDelayed(myRunnable, 2000);
}
}
上面代码中,myRunnable对MyActivity有强引用,myRunnable被添加到线程消息队列中。当MyActivity关闭时,MyActivity实例仍然被全局消息队列强引用,所以这里可能存在内存泄漏。
我没看错吧?
最佳答案
我认为没有内存泄漏。 Runnable
将在 2 秒后被调用,此消息将从 MessageQueue
中删除。
关于android - 使用 Handler 可能发生内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7196363/