Android 프로세스 우선 순위 및 LowMemoryKiller 메커니즘 - 1
Android 시스템은 응용 프로그램을 최대한 오래 유지하고 사용자가 응용 프로그램을 종료한 후에 프로세스kill을 자발적으로 제거하지 않으면 이 프로세스는 시스템에 캐시되어 사용자가 앱을 다시 시작할 때 시작을 가속화할 것이다.켜진 애플리케이션이 많아지면서 시스템 메모리가 부족해지고(Out of Memory) 새 프로세스를 만들거나 더 중요한 프로세스를 실행하기 위해서는 결국 메모리를 회수하기 위해 이전 프로세스를 제거해야 합니다.어떤 프로세스를 유지하거나 종료할지 결정하기 위해 시스템은 프로세스에서 실행 중인 구성 요소와 이 구성 요소의 상태에 따라 모든 프로세스를 '중요성 차원 구조' 에 넣는다.필요할 때 시스템은 우선 중요성이 가장 낮은 프로세스를 제거하고 그 다음에 중요성이 약간 떨어지는 프로세스를 제거하여 시스템 자원을 회수한다.LowMemoryKiller 메커니즘은 시스템이 프로세스를 죽이고 어떤 프로세스를 죽여야 하는지 판단하는 메커니즘입니다.
시스템 내 프로세스 우선 순위는 5 단계로 나뉜다.
onPause()
방법).예를 들어 프론트 데스크톱의 Activity가 대화상자를 시작하여 그 다음에 이전 Activity를 표시할 수 있도록 한다면 이런 상황이 발생할 수 있다.모든 프론트 데스크톱 프로세스가 동시에 실행되기 위해 종료되어야 하는 경우를 제외하고는 프로세스가 종료되지 않는다는 것을 알 수 있습니다.
startService()
방법으로 시작한 서비스를 실행하고 있으며 위의 두 상위 클래스 프로세스에 속하지 않습니다.비록 서비스 프로세스는 사용자가 본 내용과 직접적인 관련이 없지만, 보통 사용자가 관심을 가지는 조작을 실행한다. 예를 들어 백엔드에서 음악을 재생하거나 인터넷에서 데이터를 다운로드하는 것이다.따라서 모든 프론트 데스크톱 프로세스와 보이는 프로세스가 동시에 실행될 수 있도록 메모리가 부족하지 않으면 시스템은 서비스 프로세스를 실행 상태로 유지합니다.onStop()
방법을 포함합니다.이러한 프로세스는 사용자 체험에 직접적인 영향을 주지 않기 때문에 시스템은 언제든지 메모리를 회수하여 프론트 데스크톱 프로세스, 보이는 프로세스 또는 서비스 프로세스에 사용하도록 할 수 있다.일반적으로 많은 백그라운드 프로세스가 실행되기 때문에 LRU (최근 최소 사용) 목록에 저장되어 사용자가 최근에 본 Activity를 포함하는 프로세스가 마지막으로 종료되었는지 확인합니다.만약에Activity가 생명주기 방법을 정확하게 실현하고 현재 상태를 저장한다면, 프로세스를 종료하는 것은 사용자 체험에 뚜렷한 영향을 미치지 않을 것이다. 왜냐하면 사용자가 이Activity를 내비게이션할 때Activity는 모든 보이는 상태를 회복하기 때문이다.상태 저장 및 복원에 대한 자세한 내용은 Activity 설명서를 참조하십시오.비어 있는 프로세스(Empty process)는 활성 응용 프로그램 컴포넌트가 없는 프로세스입니다.이 프로세스를 보존하는 유일한 목적은 다음에 구성 요소를 실행하는 데 필요한 시작 시간을 단축하기 위해 캐시로 사용하는 것이다.전체 시스템 자원이 프로세스 캐시와 하위 엔드 캐시 사이의 균형을 유지하기 위해 시스템은 종종 이러한 프로세스를 중지한다.
프로세스 우선 순위에 대한 주의사항:
NEXT: http://www.jianshu.com/p/cd6510aa9150
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.