마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Service에서 WindowManager 사용하여 addView 이후 서비스 종료 이후에도 add된 뷰가 남아있는 이유 [closed]

0 추천

안녕하세요 

service 에서 windowManager사용하여 windowManager에 add하여 화면에 나오도록 하였습니다.

사용한 param은 아래와 같습니다.

WindowManager.LayoutParams params = new WindowManager.LayoutParams
        (
                WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSPARENT
        );
params.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;

하지만 service를 종료하여 onDestory 호출이후에도 WindowManager에 add된 뷰는 남아있고 onDestroy 된 service의 변수까지 사용할수 있었습니다. 물론 onDestroy될때 removeView를 하면 되겠지만 서비스 컴퍼넌트가 종료된 이후에도 windowManager는 계속 메모리에 남아있는 것인지 궁금합니다. 

activity에서 windowmanager를 사용하여 addView 할 경우 activity의 onDestroy 호출이후에는 windowManager에 add 되었던 뷰가 사라지기 때문에 service에서 사용할 경우와 차이가 무엇인지 잘 모르겠습니다.

 

 

질문을 종료한 이유: 다른질문으로 대체
lanevo (590 포인트) 님이 2016년 1월 20일 질문
lanevo님이 2016년 1월 20일 closed
...