답변:
BACK버튼을 사용하여 앱을 종료하면 onDestroy()
현재 활동 이 호출 됩니다. HOME만 누르면 호출 만 onPause()
걱정하지 않아도됩니다. 활동은 배터리를 소모하지 않으므로 메모리에 남아 있으므로 열 수 있습니다 앞으로 더 빨리.
안드로이드가 태스크 킬러 앱을 사용하는 것은 권장하지 않습니다. 안드로이드가 작업 킬러를 사용하는 것은 배터리를 잡아 당기는 추가 서비스입니다. 트위터 나 이메일 클라이언트와 같이 백그라운드에서 서비스를 실행하는 앱, 서버와 같은 서비스를 제공하는 좋은 앱은 서비스를 끌 수있는 옵션이 있습니다.
나는 내가 읽은 모든 것이 Back버튼이 응용 프로그램을 종료하는 올바른 방법 이라고 말합니다 .
Home안드로이드가 더 이상 필요하지 않다고 결정할 때까지 누르면 백그라운드에서 계속 실행됩니다. 앱을 전환하여 무언가를 확인 해야하는 경우 편리합니다 (2 초 동안 집을 보유하면 최근에 실행중인 앱 목록이 나타납니다) 대부분의 휴대 전화에서 다시 전환 할 수 있지만 뒤로 버튼을 사용하여 앱을 닫으려면 앱에 알려줍니다.
일부 앱의 메뉴에는 "종료"옵션이 있습니다. 대부분 그렇지 않습니다.
걱정할 필요가 없습니다. 다음에 필요한 앱으로 이동할 수 있습니다. Android는 필요할 때 리소스를 확보하는 데 매우 효과적입니다.
업데이트 : AndroidSpin은 실제 조사를 수행했습니다 .
Android에서는 활동 (즉, 볼 수있는 앱의 일부)이 백그라운드에서 실행되지 않습니다. 화면에있는 동안에 만 작동하고 배터리 전원을 사용할 수 있습니다. 활동에 관계없이 사용 여부의 실행을 중지 집 또는 다시 그것을두고. 유일한 차이점은 Android가 앱에 저장하도록 요청한 데이터이므로 "올바른 방법"옵션은 없습니다. 그것은 당신이하고 싶은 것에 달려 있습니다.
home 을 사용하는 경우 Android는 앱을 동일한 상태로 유지하므로 나중에 다시 예를 들어 최근 앱 목록을 통해 다시 돌아와도 여전히 동일한 상태로 유지됩니다. 동일한 화면에서, 같은 것들을 보여줍니다. 예를 들어, 이메일 앱인 경우 하나의 이메일을보고 있다면 어떤 이메일인지 기억하고 동일한 이메일을 표시합니다.
결국 (약 30 분 후) Android는 앱으로 돌아 오지 않는다고 결론을 내립니다. 따라서 다음 번에 앱을 시작할 때 전면 / 메인 화면에서 시작됩니다. 예제를 계속 진행하기 위해 이메일 앱은보고있는 이메일과 폴더를 잊어 버리고받은 편지함을 표시합니다.
back 을 사용 하면 Android에이 뷰로 돌아오고 싶지 않다고 알려줍니다. 보고 있던 내용에 대한 정보가 즉시 삭제됩니다. 다음에 앱을 시작하면 전면 화면 (예 :받은 편지함)이 표시됩니다.
다른 사람들이 말했듯이 앱은 뒤로 버튼 의 동작을 제어 할 수 있습니다 . 예를 들어, 웹 브라우저는이를 사용하여 브라우저 기록으로 되돌아갑니다. 내가 설명 한 것은 뒤로 버튼의 기본 동작이며, 개발자는 혼란을 피하기 위해 동작을 유지해야합니다.
어떤 방법을 사용하든 Android는 가능한 한 오랫동안 앱을 메모리에 남겨두고 실행하지는 않습니다. 보다 효율적입니다. 앱으로 돌아 왔을 때 여전히 메모리에 있으면 Android는 다시 실행할 수 있습니다. 아직 메모리에 없으면 Android는 저장 공간에서 앱을 다시로드하는 데 시간과 에너지를 소비해야합니다.
이전 Android 버전에서는 이러한 방식으로 백그라운드에 메모리에 남아있는 앱이 "실행중인 앱"목록에 포함되었습니다. 이것은 사용자에게 약간 혼란 스럽습니다. 사람들이 앱이 실제로 실행되고 있다고 생각하게합니다. 따라서 최신 버전에서는 이러한 앱을 "캐시 된 백그라운드 프로세스"라고 부르며 실행 중이 아니라 캐시 된 상태임을 분명히합니다.
이전에는 활동이 백그라운드에서 실행되지 않는다고 말했습니다. 그렇다면 이메일 클라이언트는 어떻게 메일을 확인합니까? 활동뿐만 아니라 앱에도 서비스 가있을 수 있습니다 . 서비스에는 사용자가 보거나 상호 작용할 수있는 GUI가 없지만 백그라운드에서 실행됩니다. 일반적으로 한 시간에 한 번씩 메일을 확인하는 등의 서비스는 드물게 만 실행되지만 앱 개발자는 항상 서비스를 실행하여 배터리를 소모 할 수 있습니다.
와 활동 떠나 다시 나 집에 서비스가 계속 실행하거나 주어진 시간 (메일 체크 인해 다음)에 나중에 트리거 : 안드로이드 같은 응용 프로그램에서 모든 서비스를 처리하는 방법을 변경하지 않습니다.
요약하면, 정말 당신이 사용 여부를 중요하지 않습니다 다시 나 집 : 그것은 단지 응용 프로그램은 당신에게 당신이 그것을 실행할 다음 시간을 보여줍니다 무엇을 변경합니다. 배터리 사용에는 영향을 미치지 않습니다. 둘 다 PC에서 프로그램을 "종료"하는 것과 일치하지 않습니다.
Android에서 응용 프로그램을 닫을 필요가 없으며 OS는 다른 곳에서 리소스가 필요할 때 나머지 응용 프로그램의 메모리를 정리합니다. 작업 킬러를 사용하면 OS의 정상적인 작동이 중단되고 응용 프로그램을 항상 처음부터 다시로드해야하기 때문에 장치 속도가 느려질 수 있습니다.
Android 애플리케이션 수명주기는 최상위에 있지 않은 애플리케이션이 더 이상 CPU를 사용하지 않는 일시 중지 된 상태로 이동하는 방식으로 작동합니다. 응용 프로그램을 다시 열 경우 메모리 내용 만 유지됩니다. 필요한 경우 메모리가 해제됩니다.
즉, 응용 프로그램 개발자는 응용 프로그램을 만들 때 응용 프로그램 수명주기를 따라야 할 버그가 있으므로 응용 프로그램이 실제로 멈추거나 일시 중지되지 않는 버그 나 실수가 발생할 수 있습니다. 이러한 응용 프로그램을 발견하고 닫을 내용은 응용 프로그램에서 "강제 중지"를 선택하여 "설정"-> "응용 프로그램"-> "응용 프로그램 관리"를 통해 수행 할 수 있습니다.
그러나 나는 장치에서 지속적으로 실행되는 작업 킬러를 사용하지 않는 것이 좋습니다.
schwiz의 답변에 뒤로 버튼의 기능을 재정의하는 데 필요한 코드 줄이 거의 없다는 것을 추가하고 싶습니다. 따라서 앱을 닫는 것이 항상 신뢰할 수있는 것은 아닙니다. 따라서 앱 개발자가 뒤로 버튼을 눌렀을 때 앱을 닫지 않으려면 닫히지 않습니다.
대부분의 우수한 앱 개발자는 앱의 홈 메뉴에서 뒤로 버튼을 누르면 경고 대화 상자가 팝업되지만 사용자가 앱을 종료할지 여부를 묻는 메시지가 표시되지만 종료를 클릭하면 앱이 닫힙니다.
정답은 이것이 될 수 있습니다. 앱의 폐쇄는 앱 개발자에게 전적으로 달려 있습니다. 홈 버튼을 눌렀을 때 앱을 닫으려면 종료 코드를에 넣으십시오 onPause()
. 뒤로 버튼을 원하면에 넣습니다 onBackKeyPressed
. 따라서 실제로 사용자의 손에 달려 있지 않습니다.
사용자는 필요하지 않을 때 적절한 닫기 기능을 제공하지 않는 앱을 사용하지 않아도됩니다. 작업 관리자는 앱을 종료하는 좋은 방법이 아닙니다. 앱을 중단시키고 상태를 저장할 기회를주지 않기 때문입니다.
OS는 필요할 때마다 앱을 닫으므로 걱정하지 않아도됩니다.
편집 :
앱을 종료하자마자 (예 : 홈 키를 클릭 할 때) 애플리케이션을 삭제하는 옵션이 있습니다. Settings
-> Developer Options
-> 로 이동할 수 있습니다 Don't keep Activities
. 개발자 옵션이지만 백그라운드에서 실행되는 앱이 너무 걱정되는 경우이 옵션을 사용할 수 있습니다. 그러나 개발자가 아닌 사람이 사용하지 않는 것이 좋습니다.