1

여러 수준의 활동이있는 Android 애플리케이션이 있습니다. 1 단계는 MainActivity.java, 2 단계는 ListActivity.java, 3 단계는 DetailActivity.java입니다. 다른 안드로이드 애플 리케이션과 같은 정상적인 활동 구조.Android 주체가 종료되고 하위 작업이 수행되지 않습니다

사용자가 세 번째 활동으로 이동하여 앱을 종료하면 앱이 백그라운드로 이동합니다.

행동 :

  1. 은 3 활동을 재개합니다 ('최근 사용한 앱'메뉴 2 가지 종종 발생에서 응용 프로그램을 클릭 (배경에서 여전히 앱) 휴대 전화의 정상적인 사용의 며칠 DetailActivity.java), 이전 활동을 다시 클릭하면 다시 시작/다시 작성됩니다.

OS가 메모리를 필요로하기 때문에이 문제가 발생하고 메모리를 확보하기 위해 그것이 필요 (새로운 응용 프로그램을 다시 시작처럼, 아니 활동 내역)

  • 앱의 첫 번째 활동 (MainActivity.java 때때로) 엽니 다 사용하지 않는 메모리를 제거하십시오. 고의적으로 제 1 행동이나 제 2 행동을하기가 매우 어렵습니다.

    질문/문제 : 하나 개의 하위 활동이 죽거나 때마다 또는 전체 응용 프로그램을 다시 시작할 수있는 방법

    이 (MainActivity.java 시작) 쓰레기가를 수집? 앱이 항상 두 번째 동작을 수행하도록 지정할 수 있습니까?

  • +1

    그건 어렵습니다. 나는 그렇게하려고 노력할 지 확신하지 못합니다. 대신 onSaveInstanceState/onRestoreInstanceState를 통해 활동 상태를 유지하려고 시도해야합니다. –

    +0

    당신이 묘사하는 "문제"는 정상적이고 예상되는 행동입니다. –

    +0

    영구적 인 상태가 백그라운드 앱에서 삭제되기까지의 시간이 4.4 또는 5.0 이후로 기기 전체 설정이라는 막연한 기억이 있습니다. 나의 google-fu는 오늘 밤 약하다. –

    답변

    0

    매니페스트에 Activity (CATEGORY = LAUNCHER 및 ACTION = MAIN이있는 것)에 대한 <activity> 정의에 android:clearTaskOnLaunch="true"을 설정하십시오.

    관련 문제