안드로이드 종료시 센서 간단한 질문드립니다.
조회수 676회
안드로이드 공부를 하다가 궁금한것이 있어서 질문 드립니다.
안드로이드 종료를
1.System.exit(1);
OR
2.android.os.Process.killProcess(android.os.Process.myPid());
이런식으로 종료를 하게되면 프로세스까지 종료 시킨다고 들었는데요.
프로세스까지 종료시킨다면, 센서까지 자동으로 종료가 되나요?
아니면, 혹시 모르니 sensor를 unregisterListener 를 하는게 좋을까요?
1 답변
-
안드로이드 시스템은 내부적으로 최대한 오랫동안 애플리케이션 프로세스를 유지하려고 시도합니다. 또한 안드로이드가 제공하는 컴포넌트들에 수명 주기와 관련된 콜백 함수들이 존재하는 이유는 안드로이드 시스템이 이들의 수명을 직접 관리한다는 의미이기도 합니다. 따라서 개발자가 직접 프로세스를 종료하는 것보다는 안드로이드에게 이를 위임하고, 콜백 함수를 이용해 예측 가능한 코드를 작성하는 것이 모범 사례입니다. 프로세스를 직접 종료해야 하는 이유와 이 방법이 유일한 해결책인지를 다시 따져보셔야 할 것 같고요.
그것과 별개로 센서 값을 받기 위한 registerListener/unregisterListener는 항상 쌍으로 호출해주는 것이 메모리 릭을 미연에 방지할 수 있고, 무결한 코드를 만드는 요소입니다.
- https://developer.android.com/guide/components/processes-and-threads?hl=ko 프로세스 수명 주기 항목 참고하세요.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력