采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,我看到关于anr弹窗有两个版本 ,有的说是系统ui展示的,也有说系统发消息给应用,应用自己弹窗,我上次做了一个实验,开启一个计算耗时操作(能持续10s),然后手指点屏幕,我发现 anr弹窗是10s之后才弹出的,现象其实是证明了应该是由应用自己去处理弹窗的,和你讲的由ams自己弹窗有些出入,具体要怎么理解呢
没太理解为什么你说的现象能证明应该是由应用自己去处理弹窗的,能详细说明一下么
我们知道activity界面中用手指点击按钮,5s内没响应的话就应该会anr弹窗弹出来,假如我页面里有两个按钮,第一个按钮点击会触发一个耗时操作,是一个耗时10秒多的一个计算,用户先点击第一个按钮开启耗时操作,这时手指立马再点击第二个按钮,然后一直没响应,直到10s多过去了才有一个anr弹窗,如果是系统负责弹窗 那么应该在我点击第二个按钮的5秒钟后就应该弹出来了,为何还要等10多秒才弹出anr弹窗呢?内部的执行过程是怎么样的?我记得一个点击事件首先经过inputmanager处理,这个inputmanager是如何记录应用进程处理点击事件超时了呢?希望老师帮忙解惑 ,感谢!
主线程一直阻塞着,所以即便AMS发过来消息也处理不了
登录后可查看更多问答,登录/注册
一手助力冲刺Android高级职位,一手把握系统底层原理,理清面试思路,提升技术段位
2.9k 4
840 16
831 8
1.1k 8
1.3k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号