모든 활동에 구현하는 것이 좋은지 알고 싶습니다 onBackPressed()
finish()
기능이 있습니까? 또는 실용적이지 않고 그것을 수행하는 것이 좋지 않습니까?Android OnBackPressed finish()?
그렇지 않은 경우, 모든 활동에서 SingleInstance
(응용 프로그램을 더 느리게 만듭니다)을 입력하고 매니페스트를 입력하는 것 이외의 다른 옵션은 있습니까?
감사합니다.
모든 활동에 구현하는 것이 좋은지 알고 싶습니다 onBackPressed()
finish()
기능이 있습니까? 또는 실용적이지 않고 그것을 수행하는 것이 좋지 않습니까?Android OnBackPressed finish()?
그렇지 않은 경우, 모든 활동에서 SingleInstance
(응용 프로그램을 더 느리게 만듭니다)을 입력하고 매니페스트를 입력하는 것 이외의 다른 옵션은 있습니까?
감사합니다.
우선 하드웨어 뒤로 버튼 자체는 finish()
메서드를 호출합니다. 액티비티에서 onBackPressed()
메서드를 정의하면 다시 버튼을 누를 때 onBackPressed()
메서드가 호출되기 때문에 backButton의 기본 동작을 재정의한다는 의미입니다.
이제 활동의 단일 인스턴스를 만들지 여부는 요구 사항에 따라 달라집니다. 스플래시 화면은 앱이 시작될 때 한 번만 표시되며 백 스택에서이 활동을 유지할 필요가 없으므로 단일 인스턴스로 만들 수 있습니다. 매우 자주 사용하려는 활동은 단일이 아니어야합니다. 그렇지 않으면 희귀 한 활동을 단일 인스턴스로 만들 수 있습니다.
자세한 내용은 Back Stack Documentation을 통해 확인하십시오.
표준이며 'singleTop'은 여러 활동 인스턴스를 인스턴스화 할 수 있으며 인스턴스는 동일한 작업을 유지합니다. 'singleTask'또는 'singleInstance'의 경우 활동 클래스는 싱글 톤 패턴을 사용하며 해당 인스턴스는 새 작업의 루트 활동이됩니다.
일부 사용자는 인 텐트를 열 때 플래그를 사용합니다. 그것을 할 수있는 좋은 방법입니까? 그렇다면 플래그 중 어느 것이 내 필요에 적응해야합니까? 나는 여러 가지 활동을 열어보고 싶지 않고 종종 배경에 머물러 있다는 것을 알게됩니다. 추억 : \ – user2902515
귀하의 요구 사항에 따라 다릅니다. 기본적으로 활동은 플래그를 사용하여 수동으로 삭제하거나 프로세서가 백 스택에서 삭제하지 않는 한 백 스택에 남아 있습니다. –
설명서에서 올바른 플래그를 얻으려고하는데 알아 내지 못합니다. 이미 열려있는 경우 활동을 지우는 플래그 만 원합니다. 내가 보는 모든 것은 새로운 것을 열 때 모든 활동을 취소하는 깃발이다. – user2902515
우리는 종종 finish() 을 사용하고 있기 때문에 애플리케이션 요구 사항에 따라 다르지만 Android 기기의 라이프 사이클도 관리 할 수 있습니다.
일시 중지 및 재개 방법을 사용하는 것이 좋습니다.
onBackPressed()는 우리가 오버라이드하지 않을 때까지 자동으로 액티비티가 완료됩니다. – SilentKiller
SilentKiller가 맞습니다. [백 스택은 "마지막으로 처음 사용]"으로 작동합니다. (http://developer.android.com/guide/components/tasks-and-back-stack.html) – AlexBcn
@SilentKiller, didn 그거 알아. 감사합니다. – user2902515