Android에서 개발하는 동안 다소 이상한 동작이 발생했습니다. Google 검색 중 찾을 수있는 유일한 대답은 설계 상으로는 걱정하지 않아야한다는 것입니다. .안드로이드 폰의 화면 잠금으로 인해 몇 차례의 onPause/onResume 이벤트가 발생합니다.
내 응용 프로그램이 활성화되어있는 동안 위치 데이터를 가져오고 onPause 이벤트가 호출 될 때 위치 업데이트를 중지하고 나중에 onResume 이벤트가 호출 될 때 페치를 다시 시작하여 배터리를 보존하는 방법을 구현하려고했습니다.
디버깅하는 동안 전화를 잠글 때이 이상한 동작을 발견했습니다. onPause-> onResume은 3 번 이상 호출 된 다음 onStop 이벤트로 끝납니다. 어디서나 찾을 수있는 유일한 대답은 마치 안드로이드가 작동하는 방식입니다.
내가 궁금한데 누군가가 나에게 몇 번 간단한 하위 활동을 중단하고 다시 시작할 필요성을 설명 할 수 있을까요? 더 많은 배터리를 소비하지 않습니까, 특히 onResume에 심각한 코드가있는 더 큰 활동의 경우? 이런 일이 발생하지 않도록하는 방법이 있습니까? 불필요한 CPU 사이클을 방지하는 if {} 블록을 사용하여 적어도 이러한 이벤트의 코드가 호출되지 않는다는 것을 알면 매우 기쁩니다.
어떤 통찰력이라도 대단히 감사합니다!
감사합니다. 아마 그렇게 할 것입니다. 사실 내가 왜 이런 일이 일어나는지에 대한 자세한 내용을 찾고 있었지만 아마 너무 많이 묻고 있습니다. – r41n