AIDL 로 서비스를 구현해서 B activity와 C activity 에서 같은 service 를 bind 하여 사용중입니다.

 

총 activity 는 세개로 구성되어 있으며 A <=> B <=> C 로 이동을 합니다.

 

B 와 C activity 전환은 flag 를 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT|Intent.FLAG_ACTIVITY_SINGLE_TOP 사용하며

 

B에서 종료를 클릭하면 Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP flag 를 사용하여 B 와 C 를 종료 합니다.

 

B 와 C 의 onDestroy 에서   super.onDestroy();  unbindService(srvConn); 이런식으로 서비스 종료를 하고 있는데..

 

종료후 A activity에서 일정 시간을 머무르고 있으면 아래와 같이 에러가 발생을 하네요.

 

ANR in 패키지명

Reason: Executing service 서비스 클래스명

 

B 와 C 에서 같은 서비스를 bind 후 종료를 같이 해서 발생할거라는 생각은 있는데... 피하는 방법이 궁금하네요.