AndroidR车机系统Settings数据库增加非持久化存储键值方案-续
一、引言
前面文章《AndroidR车机系统Settings数据库增加非持久化存储键值方案》介绍了Settings.Global数据库实现了仅保存至内存的方式,不写入持久化存储区。
内部新研8295项目Android 13也合入了此修改,集成使用某智驾方提供地图,其提供TBT悬浮窗在非地图应用内展示。由于存在弹窗遮挡,客户要求TBT仅展示在桌面上,其他应用界面不展示,地图强势要求系统参照其内部方案,将桌面状态写入Settings.Secure数据库中,key值保持不变。
二、分析
基于上述要求,由于桌面状态也是一个运行态,故同步增加Settings.Secure数据库的非持久化存储实现,避免频繁写入存储区。
桌面在前后台生命周期变化时,将状态写入地图要求的数据库key中。
三、实现
1、Settings.System及Secure同步增加非持久化存储的数据使用
// frameworks/basediff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 08cdf55..f64adeb 100755
--- a/packag