This Handler class should be static or leaks might occur Android
2015-09-01 12:48
686 查看
首先解释下这句话This Handler class should be static or leaks might occur,大致意思就是说:Handler类应该定义成静态类,否则可能导致内存泄露。
具体如何解决,在国外有人提出,如下:
Issue: Ensures that Handler classes do not hold on to a reference to an outer class
In Android, Handler classes should be static or leaks might occur. Messages enqueued on the application thread's MessageQueue also retain their target Handler. If the Handler is an inner
class, its outer class will be retained as well. To avoid leaking the outer class, declare the Handler as a static nested class with a WeakReference to its outer class.
大体翻译如下:
Handler 类应该应该为static类型,否则有可能造成泄露。在程序消息队列中排队的消息保持了对目标Handler类的应用。如果Handler是个内部类,那 么它也会保持它所在的外部类的引用。为了避免泄露这个外部类,应该将Handler声明为static嵌套类,并且使用对外部类的弱应用。
使用范例:
具体如何解决,在国外有人提出,如下:
Issue: Ensures that Handler classes do not hold on to a reference to an outer class
In Android, Handler classes should be static or leaks might occur. Messages enqueued on the application thread's MessageQueue also retain their target Handler. If the Handler is an inner
class, its outer class will be retained as well. To avoid leaking the outer class, declare the Handler as a static nested class with a WeakReference to its outer class.
大体翻译如下:
Handler 类应该应该为static类型,否则有可能造成泄露。在程序消息队列中排队的消息保持了对目标Handler类的应用。如果Handler是个内部类,那 么它也会保持它所在的外部类的引用。为了避免泄露这个外部类,应该将Handler声明为static嵌套类,并且使用对外部类的弱应用。
使用范例:
相关文章推荐
- Android开发环境搭建及常见问题解决方法
- android studio添加project libs库步骤
- android studio添加project libs库步骤
- android studio添加project libs库步骤
- android 硬件加速
- 创建一个Android Activity
- android屏幕适配攻略
- Android-Gson详解
- 教你备份自己的genymotion的android虚拟机
- Android framework系统默认设置修改
- (Android Studio)添加按钮以及权重问题
- Android 开发之PopupWindow
- Android .mk文件语法解析
- Reloading an activity in Android
- Android studio Failure [INSTALL_FAILED_OLDER_SDK]
- Android应用开发中如何使用隐藏API
- android handler looper thread
- Android开源项目分类汇总
- Android 中SharedPreferences的使用
- android环境