안드로이드 종료시 센서 간단한 질문드립니다.

조회수 676회

안드로이드 공부를 하다가 궁금한것이 있어서 질문 드립니다.

안드로이드 종료를

1.System.exit(1);

OR

2.android.os.Process.killProcess(android.os.Process.myPid());

이런식으로 종료를 하게되면 프로세스까지 종료 시킨다고 들었는데요.

프로세스까지 종료시킨다면, 센서까지 자동으로 종료가 되나요?

아니면, 혹시 모르니 sensor를 unregisterListener 를 하는게 좋을까요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    안드로이드 시스템은 내부적으로 최대한 오랫동안 애플리케이션 프로세스를 유지하려고 시도합니다. 또한 안드로이드가 제공하는 컴포넌트들에 수명 주기와 관련된 콜백 함수들이 존재하는 이유는 안드로이드 시스템이 이들의 수명을 직접 관리한다는 의미이기도 합니다. 따라서 개발자가 직접 프로세스를 종료하는 것보다는 안드로이드에게 이를 위임하고, 콜백 함수를 이용해 예측 가능한 코드를 작성하는 것이 모범 사례입니다. 프로세스를 직접 종료해야 하는 이유와 이 방법이 유일한 해결책인지를 다시 따져보셔야 할 것 같고요.

    그것과 별개로 센서 값을 받기 위한 registerListener/unregisterListener는 항상 쌍으로 호출해주는 것이 메모리 릭을 미연에 방지할 수 있고, 무결한 코드를 만드는 요소입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • :) 감사합니다. 많은 도움이 되었습니다. 심승현 2018.8.3 16:00

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)