Android 개발을 하면서 StartActivity를 여러 번 하다보면 Activity들이 생각한 대로 쌓였는지 확인해야 할 때가 생길 수 있습니다.
저는 launchMode랑 Intent Flag들을 공부하면서 사용해 보던 중 Activity Stack을 확인하면 확실히 이해할 수 있을 것 같아 확인하는 방법을 알아봤습니다.
ADB 환경변수 설정
확인을 위해선 CMD창이나 PowerShell을 통해 adb shell을 들어가야 합니다. 어느 디렉토리에서든 들어갈 수 있도록 환경변수를 설정해 주어야 편합니다. JDK 환경변수 설정처럼요.
C:\Users\${username}AppData\Local\Android\Sdk\platform-tools
이 경로를 시스템 변수 Path에 추가하시면 됩니다. 환경변수 설정이 낯설거나 잘 모르시는 분들은 아래 사이트를 참고해주세요.
https://serendipper16.tistory.com/6
adb 명령어를 쳤을 때 사진과 같이 무언가 뜬다면 된 겁니다.
본격적인 확인
- adb shell
- dumpsys activity
- dumpsys activity | grep -i run
adb shell을 치신 후 둘 중 한 개를 골라 입력하시면 됩니다.
우선 dumpsys activity 명령어를 사용하면.. 무언가 많이 올라옵니다. 500줄을 가뿐히 넘어가는 거 같습니다.
저 많은 줄 중에 Activity Stack을 찾을 수 있다는데.. 전 못 찾겠습니다. 그럼에도 알려드리는 이유는 경험의 이유도 있고, 시간 스탬프가 막 찍혀있고 Content Provider, Pending Intent, Service 등의 다양한 로그가 찍혀있는 거 같기 때문에 언젠가 쓸 수도 있지 않을까해서 입니다.
dumpsys activity | grep -i run 명령어를 실행해보면?
많은 앱들이 Fragment를 사용해서 Stack은 별로 없는 모습입니다.
참고 사이트
ADB가 뭔지 알고싶다면..?
https://developer.android.com/studio/command-line/adb?hl=ko
'Android' 카테고리의 다른 글
[Android] onMeasure 함수의 인자들 (0) | 2020.02.05 |
---|---|
[Android] EditText가 아닌 다른 곳 클릭시 키보드 내리기 (0) | 2020.02.02 |
[Android] Task와 Task Affinity에 대한 나의 이해 (0) | 2020.01.29 |
[Android] Android Dagger2 연습 중 떴던 오류 (0) | 2020.01.28 |
[Android] Translate Animation과 클릭 이벤트 (0) | 2019.12.23 |