2010-07-22 11 views
3

내 응용 프로그램이 손상되기 바로 전에 일부 비상 정리 코드를 실행하고 싶습니다. onDestroy(), onFinal() 및 finalize()를 사용해 보았습니다. Android 활동에서이 기능을 사용할 수 있습니까?Android 활동 강제 종료 전 콜백?

+1

포스 가까이 = 활동 심하게 작성 호출하지 않습니다. – Jorgesys

+5

@Jorgesys, 내가 사용한 적이있는 모든 앱이 "잘못 작성되었습니다"또는 예기치 않은 상황으로 인해 모든 앱이 다운되는 경우가 있습니다. –

+1

잘못 작성, 읽었습니다 ... http://developer.android.com/intl/fr/guide/practices/design/responsiveness.html 최근에 내 앱의 새 버전과 모든 강제 종료를 출시했습니다. 최신 버전 이후에 표시되는 메시지가 사라졌습니다. Asynchtask의 구현은 느린 연결로도 작업을 수행합니다. http://developer.android.com/intl/fr/reference/android/os/AsyncTask.html – Jorgesys

답변

2

음, 처음에는 앱을 중단시키지 않는 것이 좋습니다. 충돌 할 수있는 것이 있다면, try/catch를 넣고 올바르게 처리하십시오.

또는 일종의 글로벌 try/catch로 Thread.setUncaughtExceptionHandler()을 사용할 수 있습니다. 마지막으로 Runtime.addShutdownHook을 고려해 볼 수도 있지만 그럴 가능성이 가장 높습니다.

+0

' 이것을 시도해 보도록하겠습니다. 하드웨어 가속기를 사용하고 있습니다. 안드로이드가 새로운 프로그램을로드 할 때 멈춤 또는 아무것도 호출하지 않아 다른 프로세스가 잘못된 상태가됩니다. – Frank

0

오류 처리를 구현하고 정리 코드를 호출하십시오.

try { 
... 
... 
... 
} catch (Exception e) { 
cleanupcode();//cleanup code execute just before my app crashes 
e.printStackTrace(); 
} 

당신은 강제로 닫기 대화 상자를 볼 수 있지만 닫으 강제하려는 경우 단지

super.finish();