DropBoxManagerServer-日志文件管理

DropBoxManagerServer(DBMS): 

用于生成和管理系统运行时的一些日志文件,这些日志文件大多记录的是系统或某个应用出错是的信息。

DBMS构造方法都做了什么?

/*
DropBoxManagerServer构造方法
*/
public DropBoxManagerServer(final Context context, File path)
{
	//path指定dropbox的路径为/data/system/dropbox
	mDropBoxDir = path;
	mContext = context;
	mContentResolver = context.getContentResolver();

	IntentFilter filter = new IntentFilter();
	filter.addAction(Intent.ACTION_DEVICE_STORAGE_LOW);
	filter.addAction(Intent.ACTION_BOOT_COMPLETED);
	//注册一个广播,当系统启动完毕后或者存储空间不足时,会收到广播
	context.registerReceiver(mReceiver, filter);

	//当Settins数据库相应项发生变化时,也需要告知DBMS进行相应处理
	mContentResolver.registerContentObserver(
		Settings.Secure.CONTENT_URI, true, 
		new ContentObserver(new Handler()) {
			public void onChange(boolean selfChange) {
				mReceiver.onReceiver(context, (Intent)null)
			}
		}
	);
}
由代码可知:
DBMS注册了一个BroadCastReceiver对象,同时会监听Settings数据库的变动,其处理在BroadCastReceiver
的onReceiver函数中,该函数在3中情况下会被调用:
1. 当系统启动完毕时,由BOOT_COMPLETED广播触发;
2. 当内存空间不足时,由DEVICE_STORAGE_LOW广播触发;
3. 当Settings数据库发生变化时,该函数也会被触发。
该函数的主要功能是,当系统存储空间不足的情况下,会删除一些日志文件以节省内存空间。

DBMS和Settings数据库

/*
DBMS的运行依赖一些配置项,这些配置项都是通过SettingsProvider操作Settings数据库来设置和查询的。
SettingsProvider是系统中一个重要的APK,如果删除了该APK,系统将不能正常运行。

与DBMS相关的配置:
//用来判断是否允许记录该tag类型的日志文件,默认允许生成任何tag类型的文件
Secure.DRAPBOX_TAG_PREFIX + tag : "dropbox:" + tag
//用于控制每个日志文件的存活时间,默认是三天,超过3天的额日志文件会被删除,以节省空间
Secure.DRAPBOX_AGE_SECONDS: "dropbox_age_seonds"
//用于控制系统保存日志文件的个数,默认是1000个
Secure.DRAPBOX_MAX_FILES: "drop_max_files"
//用于控制dropbox目录占存储容量的百分比,默认为10%
Secure.DRAPBOX_QUOTA_PERCENT: "drop_quota_percent"
//用于控制dropbox不能使用的存储空间比例,默认是10%,也就是说,dropbox最多只能占用90%
Secure.DRAPBOX_RESEVER_PERCENT: "dropbox_resever_percent"
//dropbox最大使用的空间大小,默认是5KB
Secure.DRAPBOX_QUOTA_KB: "dropbox_quota_kb"
以上这些和系统相关的配置项都在Settings数据库的Secure表中。
*/




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值