商旅网站制作,信息流优化师需要具备哪些能力,windows优化大师破解版,一级a做受片免费网站问:ANR怎么分析#xff1f;
ANR问题#xff0c;这其实是一个非常综合性的问题#xff0c;因为anr会涉及CPU负载#xff0c;内存空间大小#xff0c;线程锁#xff0c;GC回收#xff0c;这里面每个点#xff0c;都是非常考验我们基本功的。
分析ANR问题#xff0c;需…问:ANR怎么分析
ANR问题这其实是一个非常综合性的问题因为anr会涉及CPU负载内存空间大小线程锁GC回收这里面每个点都是非常考验我们基本功的。
分析ANR问题需要综合上述所有信息抽丝剥茧一步一步找原因看看到底是什么原因导致ANR
一般anr是怎么产生的呢有以下几点会产生anr
1、主线程有耗时操作在规定时间内没有完成任务被ams或者wms检测到超时则提示anr 这就是CPU问题
2、主线程被block,主线程执行任务但是资源被锁了这就涉及线程锁
3、系统或进程内存不够由于内存不足所以需要频繁gc或者lmk导致任务无法完成这涉及gc,内存
4、CPU资源被抢占。由于线程优先级太低一直抢不到CPU资源导致任务一直无法被执行最后anr 总之一句话就是相关任务没有按时完成没有完成的理由很多到最后都会被系统考核发anr警告。
分析anr常用关键字
anr_in
low_memory
slow_operation
基于上述观点分析anr问题那就认真看对应日志
从anr进程的主线程栈信息开始先看当时发生anr问题是主线程处于什么状态
然后对比CPU信息查看当前CPU负载
查看内存信息分析内存使用情况综合代码业务判断是属于上面那种情况
对症下药如果太耗时也使用多线程方案如果被锁了也解锁如果内存不够也优化内存。
真相只有一个认真分析一定可以找到真正原因。