2011-12-02 5 views
2

가능한 중복 : 나는 응용 프로그램을 작성하고, onBackPress() 메소드를 오버라이드 (override) 한
Quitting an application - is that frowned upon?안드로이드 : Activity.finish() 메서드를 호출

:

@Override 
public void onBackPressed() { 
    Log.e("Main Activity", "onBackPressed!"); 
    exitAlert.show();//when the user click the ok button it will call the MainActivity.this.finish(); 
} 

하지만 finish() 함수가 호출 될 때 발견했습니다.이 앱은 여전히 ​​"Setting-> Applications-> RunningServices ". 그래서 수동으로 중지해야합니다. finish()이 호출 될 때까지을 계속 실행하는 이유를 이해할 수 없습니다. 대화 상자를 클릭하여 앱을 파괴하려면 어떻게해야합니까? 미리 감사드립니다.

답변

4

이것은 기본적으로 quitting-an-application-is-that-frowned-upon의 복제본입니까? 간단히 말해서, 활동을 마치면 그 활동은 파괴되지만 과정은 파괴되지 않습니다. 이것은 Android 프로그래밍의 중요한 측면이며 다른 플랫폼과 다른 점을 이해하는 것이 중요합니다. 많은 세부 사항에 링크 된 게시물을 읽으십시오.

0

finish()으로 전화 한 후 return을 잊지 마세요.

1

Android에는 응용 프로그램의 운영 체제가 관리하는 수명주기가 있습니다. 실제로 응용 프로그램을 "죽일"수있는 방법은 없습니다. 앱이 백그라운드로 배치되며 시스템에서 리소스를 다시 확보해야한다고 결정하면 애플리케이션이 자동으로 종료됩니다.

관련 문제