在类中定义了静态Activity变量,把当前运行的Activity实例赋值于这个静态变量。
如果这个静态变量在Activity生命周期结束后没有清空,就导致内存泄漏。因为static变量是贯穿这个应用的生命周期的,所以被泄漏的Activity就会一直存在于应用的进程中,不会被垃圾回收器回收。
Handler设计成静态类,需要用到context请变成弱引用。因为非静态类和匿名类都会隐式持有外部类的引用。
在类中定义了静态Activity变量,把当前运行的Activity实例赋值于这个静态变量。
如果这个静态变量在Activity生命周期结束后没有清空,就导致内存泄漏。因为static变量是贯穿这个应用的生命周期的,所以被泄漏的Activity就会一直存在于应用的进程中,不会被垃圾回收器回收。
Handler设计成静态类,需要用到context请变成弱引用。因为非静态类和匿名类都会隐式持有外部类的引用。
本文标题:内存泄露
本文链接:https://www.haomeiwen.com/subject/qrvlqhtx.html
网友评论