一、背景
上篇文章
记一次进程fd文件句柄内存泄露排查_shusuanly的博客-CSDN博客
中提到,系统方实现应用在前台的时候添加一个悬浮图标在应用之上,应用退出时取消浮窗。
悬浮窗方案存在如下缺点:
- 需要根据应用是否处于前台,进行控制显示与隐藏;
- 快速切换应用时无法做到同步显示,且增加系统计算压力;
- 复杂应用内存在多个层级的显示,悬浮窗始终显示在顶层,会遮挡部分显示。
二、分析
由于PhoneWindow是Window的唯一实现类,而每一个Activity都有一个Window即PhoneWindow实例进行显示。