안녕하세요
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에서 사용할 경우와 차이가 무엇인지 잘 모르겠습니다.