2011-03-16 4 views
0

특정 유형 X의 모든 활동이 닫히는 경우 일부 조치를 실행하고 싶습니다. 첫 번째 아이디어는 활동 X가 닫히고 카운터가 0이 될 때마다 감소하는 일부 글로벌 카운터를 갖는 것입니다. 몇 가지 조치를 실행하십시오. 프로세스가 종료 될 수 있다고 가정하면 카운터를 유지해야합니다. 하지만 한 가지 더 많은 문제가 남아 있습니다 - 활동 X가 (코드의 일부 버그로 인해) 충돌 할 수 있다고 상상해보십시오.이 경우 카운터를 감소시키지 않을 것입니다.특정 유형 X의 마지막 활동이 종료되었음을 알 수있는 방법은 무엇입니까?

견고한 방법으로 구현하는 방법에 대해 알고 싶습니다.

+0

잘 모르겠지만 매번 onDestroy가 전화하지 않겠습니까? 활동이 충돌 할 때도 마찬가지입니까? – Tima

+0

Mur 씨가 onDestroy를 사용합니다. – Blundell

+0

활동이 중단되면 onDestroy가 호출되지 않습니다. – alex2k8

답변

0

'닫힌'것이 무슨 뜻인지 확실하지 않지만 활동 라이프 사이클 콜백을 사용하여 요청한 내용을 처리 할 수 ​​있어야합니다. 당신이 말했듯이,이에 대한 전역 카운터를 가질 수 http://developer.android.com/reference/android/app/Activity.html

+0

나는 그것을 읽었지만 활동이 충돌 할 경우 onDestroy가 호출되는지 확실하지 않았다. – Tima

+0

사용자가 뒤로 버튼을 클릭하면 활동이 닫힙니다. 이것은 내가 의미하는 바 ... 활동 라이프 사이클에 대해 알고 있지만, 내가 원하는 것을 성취 할 수있는 방법을 파악할 수는 없습니다. – alex2k8

0

: 활동 라이프 사이클을 구현하는 방법을 보여줍니다 다음 페이지에 그림이 있습니다

.

어쩌면 좋은 곳이 Application 클래스입니까?

또는 파일을 카운터에 저장하고 처음 시작할 때마다 응용 프로그램을 시작할 때마다 다시 설정하십시오.

공유 환경 설정에서 저장하려고 할 수도 있습니다.

하지만 여전히 충돌이 발생합니다. 나는 단지 생각 만 가지고있다. 충돌 로깅을위한 ACRA 라이브러리가 있습니다. 그들을 들여다 보면 충돌을 어떻게 잡을 수 있습니까?

그래서 카운터를 감량하는 방법을 쓸 수 있습니다. 그리고 onDestroy()에서 호출하거나 충돌이 발생하면 호출합니다.

관련 문제