android - 在 Handler 线程的队列中添加匿名可运行对象会导致内存泄漏吗?
问题描述
如果Activity VS ViewModel组件中存在此代码会导致内存泄漏吗?
handlerThread = new HandlerThread("myHandlerThread");
handlerThread.start();
Handler handler = new Handler(handlerThread.getLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do work
}
}, 1000);
@Override
protected void onDestroy() {
super.onDestroy();
handlerThread.quit();
}
用扩展 Runnable 的静态类替换匿名可运行类会有什么不同吗?这个视频教程中提到了@4:13 !
为什么匿名的 runnable 会持有对 Activity 或 ViewModel 的引用?
解决方案
推荐阅读
- javascript - mongodb函数currentOp()的返回记录在哪里?
- sql - 如何将选择查询的结果放入 postgresql 中的函数
- php - 打开引导模式后,我的 php 变量被重置
- c++ - 如何基于循环迭代器选择函数
- android - Android 导航组件重新创建底部导航片段
- reactjs - 状态中的属性在动作创建者中变得未定义
- r - 对具有重复的组进行方差分析
- python - 这是python中找出特定名称在字符串中连续最多次数的正确方法吗
- go - 带有私有 gitlab (ssh) 的 Goland 模块
- python - Python 列表切片在我的猜谜游戏中不起作用