본문 바로가기

Android

[Android] Activity Stack, Task 확인하기

 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

 

[Android] 안드로이드 환경변수(adb) 설정

1. ADB(Android Debug Bridge)란? - 간단하게 말해서 PC에서 안드로이드 단말로 명령을 내릴 수 있게 도와주는 도구이다. ( 더 자세한 설명은 여기로 -> https://developer.android.com/studio/command-line/adb...

serendipper16.tistory.com

cmd 창에 adb 명령어를 치자 무언가 주르륵

 

adb 명령어를 쳤을 때 사진과 같이 무언가 뜬다면 된 겁니다.

본격적인 확인

- adb shell

- dumpsys activity

- dumpsys activity | grep -i run

adb shell을 치신 후 둘 중 한 개를 골라 입력하시면 됩니다.

adb shell에 들어간 모습

우선 dumpsys activity 명령어를 사용하면.. 무언가 많이 올라옵니다. 500줄을 가뿐히 넘어가는 거 같습니다. 

빙산의 일각..

 저 많은 줄 중에 Activity Stack을 찾을 수 있다는데.. 전 못 찾겠습니다. 그럼에도 알려드리는 이유는 경험의 이유도 있고, 시간 스탬프가 막 찍혀있고 Content Provider, Pending Intent, Service 등의 다양한 로그가 찍혀있는 거 같기 때문에 언젠가 쓸 수도 있지 않을까해서 입니다.

 

dumpsys activity | grep -i run 명령어를 실행해보면?

많은 앱들이 Fragment를 사용해서 Stack은 별로 없는 모습입니다.

 

참고 사이트

https://devbobos.github.io/2018/03/19/Android-%EC%95%A1%ED%8B%B0%EB%B9%84%ED%8B%B0-%EC%8A%A4%ED%83%9D-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0.html

 

Android 액티비티 스택 확인하기 | devbobos

개발자 devbobos 블로그입니다. Android, iOS, Web, Unity 등의 자료를 취급하고 있습니다.

devbobos.github.io

ADB가 뭔지 알고싶다면..?

https://developer.android.com/studio/command-line/adb?hl=ko

 

Android 디버그 브리지(adb)  |  Android 개발자  |  Android Developers

기기와 통신할 수 있는 다목적 명령줄 도구인 Android 디버그 브리지를 알아보세요.

developer.android.com