解决SystemUI下拉框中,长按WIFI图标会导致崩溃问题
场景
在部分产品中偶发性发现,
- SystemUI下拉框下拉后长按WIFI图标会导致崩溃问题,有时候是截屏、点击Home 按键后,长按WIFI图标崩溃。
- 第一次刷完固件开机OK的,重启后会复现,或者直接长按 崩溃必现。
这个现象很奇怪,平常自己开发中并不是所有项目都会遇到,
参考资料
Android11 下拉菜单长按WIFI 图标SystemUI ANR
参考资料有部分完整的报错信息日志和源码分析,方便理解问题。 核心就是在Handler 里面创建了Handler,Android体系不允许的。
new Handler()和new Handler(Looper.getMainLooper())的区别是什么?
区别总结来说:
-
主线程本身就有一个Lopper,在程序起来的时候就已经lopper() 了,所以在主线程里面创建Handler,直接 new
Handler()。 这个handler 发送消息自动会在Lopper() 队列里面等待执行。 -
子线程里面不一样了,你创建了一个new Handler(), 系统不允许就报
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



