我们都知道SettingsProvider主要是存储Android设置中的大部分信息值,根据对Andrdoid Provider存储数据的方式,一般都是结合Provider和SQLiteOpenHelper来以数据库的方式存储数据的,对于SettingsProvider如此。
如图所示,创建的是名为settings.db数据库,当在设备中的对应进程目录下查看settings.db时却怎么也找不到该数据库文件。
对于其他进程是否能正常创建db文件,以Launcher为例:
说明进程创建db数据库没有问题,而且创建的db文件会在所在进程的目录中。设置模块运行正常,无法解释为何找不到SettingsProvider对应的db?
代码逻辑无法往下跟了,全局搜索后发现了存储设置模块数据的地方,仔细对比验证后确认数据存在这些文件中了:
为何SettingsProvider信息会存放在这里呢,这块转化的逻辑待研究好了再告知给大家一下吧,若有研究明白的大神也可以留言区讨论!