Android-mainThread处理程序会导致内存泄漏吗?

j2emanue

我很好奇下面为什么会发生内存泄漏,因为mHandler是在mainThread上创建的,而现在在调用onDestroy时,它只会杀死线程吗?活动销毁后处理程序如何存在?我还没有创建新线程。我是否可以理解,即使线程被破坏后,如果消息处理程序还保留了消息处理程序,处理程序也会保留吗?

参考文档即时阅读在这里 在此处输入图片说明

哈西夫·赛德|

处理程序主要用于将事件发布到线程的MessageQueue。每个Handler实例都与一个线程和该线程的消息队列关联。

因此,当您延迟发布一个可运行对象并退出活动时,MainThread不会被销毁,因为在延迟之后,MessageQueue中仍有事件要处理,因此这可能导致memoryLeak作为您可运行的匿名内部类持有活动 实例的引用

因此,请确保通过调用来删除Activity的onStop()中所有消息

handler.removeCallbacksAndMessages(null);

这将在您退出活动之前清除所有待处理的消息和回调。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

这段代码会导致Android中的内存泄漏吗

静态变量会导致android中的内存泄漏吗?

Android匿名asyncTask-是否会导致内存泄漏

该程序会导致内存泄漏吗?

这段代码可以避免Android处理程序内存泄漏吗?

Android runOnUiThread导致内存泄漏

Android处理程序泄漏

使用原型函数作为事件处理程序会导致内存泄漏吗?

具有活动上下文的处理程序类会导致内存泄漏吗?

Android我的应用程序内存泄漏吗?

Android WeakReference处理内存泄漏

Lambda事件处理程序会导致哪种内存泄漏?

如果重置了回调,为什么静态Drawable会导致Android泄漏内存?

Android:由于成员变量导致内存泄漏?

Android Media Player保留应用程序实例并导致内存泄漏

传递给外部类的android View引用会造成内存泄漏吗?

清空Array = []会导致内存泄漏吗?

Redux存储会导致内存泄漏吗?

goto LABEL会导致内存泄漏吗?

NavigableMap的subMap会导致内存泄漏吗?

双向WeakMap会导致内存泄漏吗?

Android-这是内存泄漏吗?

这是iOS / Android上的内存泄漏吗

这是Android中的内存泄漏吗

Android中用于kotlin的静态等效项,以避免处理程序内存泄漏

使用Android处理程序时,如何解决有关内存泄漏的警告?

Android 应用程序和内存泄漏

Android - 应用程序上下文可以解决内存泄漏吗?

使用Twisted + Cyclone + PyPy处理POST请求会导致内存泄漏吗?