막무가내 삽질 블로그

안드로이드 ActivityCompat.finishAffinity 사용 본문

Android

안드로이드 ActivityCompat.finishAffinity 사용

joong~ 2019. 12. 6. 06:19
728x90

최근에 프로젝트 참여중 한가지 이상한점을 발견했다.

 

액티비티가 onDestroy 되었는데 계속 살아나는 것이였다............

 

????????????????????????????????? 이건 무슨 상황인가 싶었다.

 

A 액티비티에서 서버로 데이터를 전송 후 결과를 받으면 B 액티비티로 이동하고

 

B 액티비티에서 웹뷰가 띄워지는 구조다.

 

웹뷰를 종료 시키고 해당 액티비티를 나왔을때 finish()를 시켜주고 다시 백키를 누르면 웹뷰로 들어가졌다....

 

뭐지??????싶었다. 웹뷰라는 앱 외부 코드라도 해당 액티비티가 죽었는데..... 왜 살아나지...?

 

여기저기 찾아보다 웹뷰를 강제로 죽이는 방법, remove 하는 방법 이것저것 해봤는데 해결 하지 못했다.

 

그러던 도중 액티비티가 onDestroy 되어도 제대로 안죽어 있을 수 도 있다는 글을 보았다(출처 기록 하지못함, 찾는중)

 

이건 또 뭔소리인가 싶었다. 일단 급하게 ActivityCompat.finishAffinity(액티비티명.this) 로 해당 액티비티를 종료하니

 

해결 되었다. 좋은 방법인지는 모르겠다.

 

그리고 최근에 검색해서 다시 알아봤는데 webview 안에 clearcache() 메소드가 있는데 그걸 활용 하면 지울 수 있다고 한다. 해당 메소드는 내장메모리의 캐시가 완전히 삭제가 되지 않을 수 있다고 해서 완전히 삭제되는 코드를 찾았다.

 

시간 되면 다시 해봐야겠다.

 

 

 

 

Comments