2010-08-09 8 views
1

android.app.Application 내 자신의 하위 클래스를 사용하여 문제가 발생했습니다. 내 응용 프로그램에서 수많은 활동을하고 꽤 많은 메모리를 소모하는 사용자 지정 ROM을 실행 해요. 내 애플리케이션이 삭제 된 제 3 자 활동 (카메라)을 실행하면 어떻게됩니까? 내 응용 프로그램 하위 클래스는 전체 응용 프로그램의 중요한 데이터를 저장하므로이 응용 프로그램 없이는 작동하지 않습니다. android.app.Application에는 애플리케이션 상태를 저장하거나 복원하는 메소드가 없습니다. 활동에는 그것들이 있지만 적절하지 않습니다.android.app.Application 상태 저장

아무 것도 응용 프로그램 서브 클래스에서 저장/복원 상태를 수행하는 방법을 추측합니까?

업데이트 나는 onSaveInstanceState에서 얻은 번들을 채우고 onCreate에서 값을 복원하여 처리했습니다. 그러나 더 좋은 방법이 있습니까? 기준에 http://developer.android.com/guide/topics/fundamentals.html

따르면

답변

0

활동이 처음 생성 될 때 호출

onCreate()한다. 여기서 정상적인 정적 설정을 모두 수행해야합니다.보기 생성, 데이터를 목록에 바인딩하는 것입니다. 이 메서드는 해당 상태가 캡처 된 경우 이전 활동 상태가 포함 된 Bundle 개체로 전달됩니다 (나중에 활동 상태 저장 참조). 항상 onStart()가 계속됩니다. 기준에

시스템이 다른 활동을 재개하기 시작하려고 할 때 호출

onPause()한다. 이 메서드는 일반적으로 저장되지 않은 변경 내용을 영구 데이터에 커밋하고 애니메이션 및 CPU를 사용하는 기타 작업을 중지하는 데 사용됩니다. 다음 활동은 돌아올 때까지 다시 시작되지 않기 때문에 매우 빨리 수행해야합니다. 액티비티가 전면으로 돌아 오면 onResume(), 사용자가 보이지 않게되면 onStop()을 사용합니다.

Bundle 개체를 사용하면 응용 프로그램이 종료 된 경우 상태를 저장해야합니다. onPause() 메서드는 리소스를 다시 확보하기 위해 죽을 수있는 상태에 있음을 응용 프로그램에 알리는 신호입니다. onCreate() 메서드는 리소스가 필요할 때 시스템에서 응용 프로그램을 종료 할 수있게하면서 응용 프로그램이 이전에 중단되었던 부분을 선택하여 원활한 사용자 환경을 제공하기 위해 번들로 전달됩니다.

+0

'android.app.Application'은 (는)'활동 '이 아닙니다. – Macarse