美文网首页Android面试一问一答
Android面试一问一答:Handler内存泄漏

Android面试一问一答:Handler内存泄漏

作者: LvStudio | 来源:发表于2019-01-10 17:56 被阅读7次

Handler为什么会内存泄露

  • Handler会持有Activity的引用,如果有Message没有被处理或者没有处理完,由于Message会持有Handler的引用,所以造成生命周期长的对象持有生命周期短的对象的引用,从而Activity和Handler不能被释放,造成内存泄露。

如果Message处理完之后,这些内存可以被回收吗

  • Message处理完之后,Message就不能被GC Root的可达性搜索查找到,失去关联关系,这一连串内存都会被回收。

常见的GC Root有哪些

  • 通过System Class Loader或者Boot Class Loader加载的class对象,通过自定义类加载器加载的class不一定是GC Root

  • 处于激活状态的线程

  • 栈中的对象

  • JNI栈中的对象

  • JNI中的全局对象

  • 正在被用于同步的各种锁对象

  • JVM自身持有的对象,比如系统类加载器等。

相关文章

  • (转载自diycode)2017 Android 面试题分享整理

    Android(安卓) Android基础知识 Android内存泄漏总结 Handler内存泄漏分析及解决 An...

  • Android 基础

    1、Android布局 2、Android内存泄漏总结 3 、Handler内存泄漏分析及解决 4...

  • 性能优化与保活

    ------内存泄漏优化------Android 内存优化你的 Handler 内存泄露 了吗?Android卡...

  • android学习资料

    第一部分: Android(安卓) Android基础知识 Android内存泄漏总结 Handler内存泄漏分析...

  • Android学习之旅

    1.Android基础知识2.Android内存泄漏总结3.Handler内存泄漏分析及解决4.Android性能...

  • 记录电商公司面试

    面试记录 问了常见的内存泄漏常见有哪些 Handler的内存泄漏情况 activity,window,view之间...

  • Android知识体系总结

    第一部分:Android(安卓)Android基础知识Android内存泄漏总结Handler内存泄漏分析及解决H...

  • Android 消息机制 你了解多少

    级别:★★☆☆☆标签:「Handler」「Android」「消息机制」「内存泄漏」作者: Zoyp晨[https:...

  • java基础

    Handler怎样防止内存泄漏 handler引起内存泄漏的原因:由于handler的写法问题,如果handler...

  • Android的垃圾回收与内存泄露

    标签(空格分隔): Android 内存泄漏的基本知识请见博客一如何高效使用handler避免内存泄漏请见博客二 ...

网友评论

    本文标题:Android面试一问一答:Handler内存泄漏

    本文链接:https://www.haomeiwen.com/subject/voaarqtx.html