2012년 1월 4일 수요일

[Android] Activity xxx has leaked window xxxxxxx that was originally added here.

Dialog를 사용하다가 제목과 같은 에러를 만났다.
다른 경우에도 발생 할 법한 에러이긴 한데 아직 접해 본적은 없다.

일단 원인은 엑티비티에서 생성한 다이얼로그가 떠있는데,
액티비티가 종료되어 메모리 누수가 발생 했기 때문이다.

해결 방법은...
물론 액티비티가 종료될때 떠있을지 모르는 다이얼로그를 닫아 주면 되는데,

액티비티의 onPause()에서 다이얼로그의 dismiss() 를 호출 하거나,
다른 방법으로 닫아 주면 된다.

나의 경우
서비스에서 투명 액티비티를 띄워 투명액티비티상에서
다시 다이얼로그를 띄웠고 다이얼로그에서 뭔가 작업을 한뒤
다이얼로그가 닫히면서 액티비티도 종료 되는 것을 개발 하려 했는데,
실수로 액티비티만 닫히고 다이얼로그는 종료되지 않았던 것이었다.

알면 쉽지만..
이것 때문에 4시간은 해맨듯 하다.
ㅠㅠ

댓글 없음:

댓글 쓰기