Android核心问题之AMS常见问题分析

AMS中常见问题有以下几种:

   1. 低内存问题

   2. 性能问题

   3. Activity跳转问题

   4. 广播接收慢问题

低内存问题:

 1. 查看kernel.log中关键字send sigkill / lowmemorykiller

 2. 在上述搜索结果中通过应用进程名进行搜索查看,注意kernel.log中进程名打印为截取后面15

性能问题:

   需仔细对比分析event.logsystem.log以及main.log中具体耗时点以及当前系统状态

Activity跳转问题:

    使用adb shell dumpsys activity 打印当前系统activity stack信息来了解具体的跳转

广播接收慢问题:

    广播发送时静态注册的广播发送为有序方式,需等待前一个处理完成后才会发送后一个广播,所以会出现后一个接收慢的问题

     广播接收需打开ActivityManagerService.javaDEBUG_BROADCAST宏具体分析广播发送流程


几个常见的调试命令:

cat/proc/ meminfo
adb shell ps
cat/proc/< pid >/ oom_score_adj
kill-3 < pid >
dumpsys activity
procrank
top

常见am log

Android核心问题之AMS常见问题分析_第1张图片

常见activity record销毁原因:

Android核心问题之AMS常见问题分析_第2张图片


你可能感兴趣的:(移动,开发)