android频繁点击控件,导致系统奔溃
作者:互联网
之前公司海思3798平台android7.0上面碰到一个问题,频繁点击应用的控件,导致系统奔溃。查看anr日志只看到ui线程消息队列被阻塞,却没有提示是否应用异常导致。既然没有看到应用异常,那就从系统方面着手,通过busybox top -d 1查看进程cpu占用。发现频繁点击会多次点用system进程的audiotrack线程,每次点击都会new新的audiotrack线程,导致系统cpu溢出,系统卡死重启。
因为是触摸屏控制设备,应用不需要用到声音播放和提示音。所以解决方法就是,进入应用后,关闭提示音播放,这样点击控件时候,不会触发提示音。如果应用没有系统权限,设置关闭提示音,会提示异常,先判断是否有settings权限,在设置关闭提示音频播放。
//1 打开 2 关闭
Settings.System.putInt(getContentResolver(),Settings.System.SOUND_EFFECTS_ENABLED, 0);
对比了mlogic芯片,没有出现这个问题,可能这个数海思早期的一个bug,毕竟没人会对着一个按钮疯狂点击,而且出现概率点击1%-4%左右
robin-liz 发布了1 篇原创文章 · 获赞 0 · 访问量 75 私信 关注
标签:控件,导致系统,提示音,点击,线程,应用,android 来源: https://blog.csdn.net/lixiangping110/article/details/104207109