Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- android ar 개발
- 안드로이드 라이선스 종류
- rxjava cold observable
- rxjava disposable
- 객체
- 자바 다형성
- jvm이란
- 안드로이드 레트로핏 crud
- 클래스
- 안드로이드 os 구조
- 2022 플러터 안드로이드 스튜디오
- Rxjava Observable
- 서비스 쓰레드 차이
- 안드로이드 레트로핏 사용법
- 서비스 vs 쓰레드
- 스택 자바 코드
- 안드로이드 유닛 테스트 예시
- rxjava hot observable
- ar vr 차이
- jvm 작동 원리
- 플러터 설치 2022
- 큐 자바 코드
- 안드로이드 유닛 테스트
- 멤버변수
- ANR이란
- android retrofit login
- 2022 플러터 설치
- 안드로이드 라이선스
- 스택 큐 차이
- 안드로이드 유닛테스트란
Archives
- Today
- Total
나만을 위한 블로그
[Manifest-Android] 21. ActivityManager 본문
728x90
반응형
안드로이드의 시스템 서비스. 기기에서 실행 중인 액티비티, Task, 프로세스 정보를 제공 및 관리한다.
안드로이드 프레임워크의 일부로 개발자가 앱 생명주기, 메모리 사용량, Task 관리 관련 측면을 상호작용하고 제어할 수 있게 한다.
주요 기능
- Task, 액티비티 정보 : 실행 중인 Task, 액티비티, 이것들의 스택 상태의 세부정보를 가져올 수 있다. 개발자가 앱 동작을 모니터링하고 시스템 리소스 사용량을 파악할 수 있게 한다
- 메모리 관리 : 시스템 전체의 메모리 사용량 정보를 제공하고 앱 별 메모리 소비량, 시스템 전체 메모리 상태를 포함한다. 앱 성능을 최적화하고 low memory 상황을 처리할 수 있다
- 앱 프로세스 관리 : 실행 중인 앱 프로세스, 서비스 세부 정보를 쿼리할 수 있다. 앱 상태 감지나 프로세스 수준 변경에 대응할 수 있다
- 디버깅, 진단 : 힙 덤프 생성 or 앱 프로파일링 같은 디버깅 도구를 제공해서 병목 현상, 메모리 누수 식별에 도움이 된다
공통 함수
- getRunningAppProcesses() : 현재 기기에서 실행 중인 프로세스 리스트 리턴
- getMemoryInfo(ActivityManager.MemoryInfo memoryInfo) : 시스템 메모리 상태의 자세한 정보 리턴. 사용 가능한 메모리, 메모리 임계값, 기기가 low memory 상태인지 여부 등을 포함한다. 이 정보는 low memory일 때 앱 동작을 최적화하는 데 유용하다
- killBackgroundProcesses(String packageName) : 지정된 앱의 백그라운드 프로세스를 종료해서 시스템 리소스를 해제한다. 리소스 집약적 앱 테스트, 관리에 유용
- isLowRamDevice() : 기기가 저용량 RAM 기기로 분류되었는지 확인해서 저메모리 기기에서 앱의 리소스 사용을 최적화하는 데 도움
- appNotResponding(String message) : 테스트 목적으로 App Not Responding (ANR) 이벤트를 시뮬레이션. 디버깅 시 ANR 상황에서의 앱 동작이나 반응을 이해하는 데 사용 가능
- clearApplicationUserData() : 앱 관련 모든 사용자 특정 데이터를 삭제. 파일, DB, 쉐어드 등이 포함됨 공장 초기화나 앱을 기본 상태로 복원 시 자주 사용
LeakCanary에서 ActivityManager
LeakCanary는 앱 메모리 누수 탐지 라이브러리다. 개발 과정에서 메모리 누수를 자동 모니터링하고 탐지해서 자세한 분석, 실행 가능한 인사이트를 제공해서 메모리 누수 수정에 도움을 준다. 이 라이브러리도 메모리 상태, 정보를 추적하기 위해 ActivityManager를 사용한다.
반응형
'스터디' 카테고리의 다른 글
[Manifest-Android] 23. 런타임 권한 다루기 (0) | 2025.07.09 |
---|---|
[Manifest-Android] 22. SparseArray (0) | 2025.07.09 |
[Manifest-Android] 20. 구성 변경 시 액티비티에 생기는 변화 (0) | 2025.06.30 |
[Manifest-Android] 19. Fragment Result API (0) | 2025.06.30 |
[Manifest-Android] 18. 액티비티, 프래그먼트 간 데이터 전달 (0) | 2025.06.30 |
Comments