氢桌面:高德悬浮地图在滑动桌面时消失浅析

803 阅读1分钟

背景

最近给自己的老油车升级了系统,开放了第三方 App 安装。伙伴推荐使用“氢桌面”(支持高德悬浮地图)。实际体验中却发现:悬浮地图在桌面滑动切换时会消失,与预期有差异。

现象复现

静止状态:显示正常

image.png

滑动桌面过程中:悬浮地图消失

image.png

初步猜测

滑动时,可能移除了对应的 Surface 图层,于是用 Winscope 做了验证。

Winscope 验证

不滑动时:导航图层仍存在、正常显示
下一帧(滑动中):对应的 Surface 图层消失

image.png

image.png

优化猜想

参考 Android 原生任务栈回退 / 恢复动画机制,给该地图层加一个“狗绳”动画(animation leash)。如果通过 Leash 临时托管图层,滑动过程中地图可能就不会直接消失。

image.png

猜测目前效果可能是:由于老车机系统版本与性能限制,桌面实现上做了妥协。