2011-10-11 2 views
0

onPause() 이벤트 중에 SharedPreferences에 키를 저장하려고 시도하지만, 활동을 종료하고 활동으로 돌아올 때도이 두 가지가 호출됩니다.Android 수명주기가 비정상적으로 발생합니다.

따라서 활동으로 돌아 가면 내 값이 0과 기본값으로 덮어 쓰게되고 oncreate 메소드의 메소드가 응답하지 않기 때문에 응답하지 않습니다.

아마도 Android의 라이프 사이클을 오해하고 있습니다. 그러나 라이프 사이클 그래프를 한 번 열 번 보았을 때 프로그램이 예상대로 작동하지 않습니다.

통찰력을 바랍니다.

+0

코드를 살펴 보겠습니다. – brianestey

+0

r 활동을 위해 lanuch 모드를 사용하면 –

답변

1

내 경험에 따르면 일부 디바이스는 활동의 이벤트 라이프 사이클에 대해 전혀 신경 쓰지 않습니다.

내가 찾은 유일한 해결책은 가능한 한 라이프 사이클에 독립적 인 활동으로 만드는 것입니다. 나는 그들이 onPause에서 돌아 왔을 때 새로운 것을 만들기 위해서만 활동을 파괴한다는 것을 보았다. 당신이 아닌지 확인해야 할 것입니다.

장치에 대한 안드로이드 테스트는이 분야에서 많이 부족한 것으로 보입니다.

+0

이 제안에 감사드립니다. 올바른 코드를 입력하십시오. 내가 sharedpreferences를 사용하고 onCreate() 중에 조건이 저장 한 값을 기반으로한다면 – CQM

0

onPause()는 onResume() 이후와 onStop() 직전에 호출됩니다. 따라서 onPause()에서 수행하는 작업은 두 번 실행됩니다. 하지만 내 experiance 일부 장치 onStop() 전에 몇 번 onPause() 건너 뜁니다. 그래서 당신은 onPause()에만 의존하지 않습니다. 적절한 조건으로 onCreate() 또는 onResume()에 코드를 작성하는 것이 좋습니다.

자세한 설명을 위해 여기에 코드를 입력하십시오.

관련 문제