방대한 문서보다 동작하는 소프트웨어

개발

[안드로이드] ADB 로 액티비티 스택 알아보기

꽃게장세트 2023. 7. 29. 00:05
1. adb shell dumpsys activity recents
2. adb shell dumpsys activity activities

1번 과 2번 둘다 Activity 스택 정보를 보여줍니다.

1번은, recents 로 눈치 채셨을 수도 있습니다. 최근에 사용한 Activity 정보를 보여줍니다.

2번는, 방대한 정보를 보여줍니다. 방대하니까 보기가 어렵습니다.

 

정보의 범위를 좁혀볼까요? 아래와 같이 packageName 을 CLI에 추가해 줍니다.

1. adb shell dumpsys activity recents | grep io.github.ovso.activityfinish
2. adb shell dumpsys activity activities | grep io.github.ovso.activityfinish

 

가령, 1번의 결과는 아래와 같습니다.

* Recent #0: Task{30b285e #4458 type=standard A=10599:io.github.ovso.activityfinish U=0 visible=true visibleRequested=true mode=fullscreen translucent=false sz=2}
affinity=10599:io.github.ovso.activityfinish
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=io.github.ovso.activityfinish/.MainActivity}
mActivityComponent=io.github.ovso.activityfinish/.MainActivity
Activities=[ActivityRecord{ddadd99 u0 io.github.ovso.activityfinish/.MainActivity} t4458}, ActivityRecord{c53c4a0 u0 io.github.ovso.activityfinish/.AActivity} t4458}]
hostProcess=io.github.ovso.activityfinish
baseIntent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=io.github.ovso.activityfinish/.MainActivity }
baseActivity={io.github.ovso.activityfinish/io.github.ovso.activityfinish.MainActivity}
topActivity={io.github.ovso.activityfinish/io.github.ovso.activityfinish.AActivity}
realActivity={io.github.ovso.activityfinish/io.github.ovso.activityfinish.MainActivity}

여전히 복잡해 보인다면, Task와 Activities 만 보셔도 될 것 같습니다. Task 에서 sz는 스택에 들어있는 Activity 의 갯수를 나타냅니다. Activities 는 Activity 가 실제로 스택에 어떻게 쌓이고 있는지를 보여 줍니다.

 

adb 로 보는 액티비티 스택은 가끔.. 유용할 때가 있습니다 :)