扫码关注官方订阅号
业精于勤,荒于嬉;行成于思,毁于随。
theActivity == null也有可能是GC回收掉的不过除非它MainActivity的构造函数里做了特别的处理,否则这种判断为空后直接new activity的做法是不妥当的
注意看:
private static class HandlerExtension extends Handler {
这个内部类有static修饰,因此并依赖外部类的实例,也就是说HandlerExtension的生命周期与外部类是独立的。而你说的mActivity又是弱引用的:
WeakReference<MainActivity> mActivity;
所以系统GC的时候,这个MainActivity就可能被释放掉了,那么这个HandlerExtension中,如果不判断,则很大可能是null。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
theActivity == null也有可能是GC回收掉的
不过除非它MainActivity的构造函数里做了特别的处理,
否则这种判断为空后直接new activity的做法是不妥当的
注意看:
这个内部类有static修饰,因此并依赖外部类的实例,也就是说HandlerExtension的生命周期与外部类是独立的。而你说的mActivity又是弱引用的:
所以系统GC的时候,这个MainActivity就可能被释放掉了,那么这个HandlerExtension中,如果不判断,则很大可能是null。