Android日志分析02-am篇
在日常分析bug时,免不了和系统ActivityManagerService打交道,根据日志去查看各个Activity的生命周期,从而判断是否出现Activity生命周期异常。
先使用adb logcat
和adb bugreport
再pixel2的模拟器抓取一份从开机到打开一些app后的日志。
下面开始对日志进行分析
1、Android启动的时间点
之后继续从log,看Android手机启动后的界面,通过android.intent.category.HOME
拉起来的第一个界面
09-24 02:49:36.684 1902 1902 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000100 cmp=com.android.settings/.FallbackHome} from uid 0
之后开机动画之后,再拉launcher
09-24 02:49:46.499 1902 2401 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000100 cmp=com.google.android.apps.nexuslauncher/.NexusLauncherActivity} from uid 0
launcher是显示壁纸的,还可以通过日志去查看壁纸启动的过程
可以看ActivityManager
的日志,看开机的ams的信息,包括启动的进程、Service、ContentProvider、broadcastReceiver、Activity。启动进程Start proc
,启动Activity START u0
可以从log看到开机设备解锁的过程,开机广播的时间
查看bugreport文件,可以通过
am_proc_start
追踪到进程创建、进程号、进程名
am_create_activity
启动的Activity,意图信息
am_finish_activity
、am_pause_activity
、am_restart_activity
、am_set_resumed_activity
、am_kill
等Activity的生命周期方法。
查看bugreport dump的数据
Buffering state状态
GraphicBufferProducers数据
SurfaceFlinger的layer
信息数据非常多,可以慢慢细看
日志
致敬前辈,砥砺前行!
欢迎关注,留言,一起交流技术!
感谢支持!