3.4.3 DBMS和settings数据库
DBMS的运行依赖一些配置项。其实除了DBMS, SystemServer中很多服务都依赖相关的配置项。这些配置项都是通过SettingsProvider操作Settings数据库来设置和查询的。SettingsProvider是系统中很重要的一个APK,如果将其删除,系统就不能正常启动了。
这里总结一下和DBMS相关的配置项,具体情况如下(注意,右边双引号的内容是该配置项在数据库中的名字。这些和系统相关的配置项都在Settings数据库的Secure表内):
//用来判断是否允许记录该tag类型的日志文件。默认是允许生成任何tag类型的文件
Secure.DROPBOX_TAG_PREFIX+tag:“dropbox:”+tag
//用于控制每个日志文件的存活时间,默认是三天。大于三天的日志文件就会被删除以节省空间
Secure.DROPBOX_AGE_SECONDS:“dropbox_age_seconds”
//用于控制系统保存的日志文件个数,默认是1000个文件
Secure.DROPBOX_MAX_FILES:“dropbox_max_files”
//用于控制dropbox目录最多占存储空间容量的比例,默认是10%
Secure.DROPBOX_QUOTA_PERCENT:“dropbox_quota_percent”
//不允许dropbox使用的存储空间的比例,默认是10%,也就是dropbox最多只能使用90%的空间
Secure.DROPBOX_RESERVE_PERCENT:“dropbox_reserve_percent”
//dropbox最大能使用的空间大小,默认是5MB
Secure.DROPBOX_QUOTA_KB:“dropbox_quota_kb”
感兴趣的读者可以利用adb shell进入/data/data/com.android.providers.settings/databases/目录,然后利用sqlite3命令操作settings.db,其中有一个Secure表,可以通过该表了解相关内容。不过系统中的很多选项在该表中都没有相关设置,因此实际运行时都会使用代码中设置的默认值。