안녕하세요.
개발 중 풀지 못하는 문제가 있어서 질문드려봅니다.
Pub 앱의 대략적인 구조는
[PubApplication.java]
public class PubApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onTerminate() {
super.onTerminate();
}
}
[PubActivity.java]
public class PubActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
[HomeActivity.java]
public class PubActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
protected void ontResume() {
super.onResume();
}
}
이렇게 간략하게 되있습니다.
PubActivity.java가 메인Activity이구요. 버튼을 누르면 PubActivity (finish) -> HomeActivity으로 이동됩니다.
그런데 간혹 앱이 HomeActivity 화면에서 백그라운드로 들어갔다 20~30분정도 대기 후 다시 나올때
로그를 보면 PubApplication -> HomeActivity onCreate()가 찍히더라구요.
왜 HomeActivity ontResume()이 바로 호출되지 않는걸까요? (android:configChanges 같은건 다 처리한 상태입니다.)
당장 급한 나머지 꼼수를 부려서 안뻗게 만들긴 했지만.. 몬가 찝찝하네요.
혹시 의심이 가거나 제가 모르는 무언가가 있을까요?
원래 사용하지 않는 Activity가 죽는건 자연스러운 일입니다.
안드로이드 시스템 자체가 사용하지 않는 어플을 점차 죽이니까요.
죽었다가 살아날 경우를 대비해서 savedInstanceState Bundle을 이용해서 복구하는거구요.