扫码关注官方订阅号
在Android Studio中Activity中只要定义一个Handler,IDE就会报出大量的黄底提醒。用static也不行。想问一下要在Activity中定义个Handler,正确的书写姿势是什么?
Android Studio
Activity
Handler
IDE
static
走同样的路,发现不同的人生
不正确地使用Handler容易导致内存泄露,应该避免使用非静态内部类,继承Handler时,要么是放在单独的类文件中,要么就是使用静态内部类。参考:[技术小黑屋 的一篇文章][1]
[技术小黑屋 的一篇文章][1]
http://droidyue.com/blog/2014/12/28/in-android-handler-classes-should-be-static-or-leaks-might-occur/
弱引用的方式调用
private static class MyHandler extends Handler { private final WeakReference<Activity> mActivity; public MyHandler(Activity activity) { mActivity = new WeakReference<>(activity); } }
比如上面这样引用。
http://blog.csdn.net/iispring/article/details/47115879自己看看吧
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
不正确地使用Handler容易导致内存泄露,应该避免使用非静态内部类,继承Handler时,要么是放在单独的类文件中,要么就是使用静态内部类。
参考:
[技术小黑屋 的一篇文章][1]http://droidyue.com/blog/2014/12/28/in-android-handler-classes-should-be-static-or-leaks-might-occur/
弱引用的方式调用
比如上面这样引用。
http://blog.csdn.net/iispring/article/details/47115879
自己看看吧