UsageStatsManager总结

总结

1、功能

UsageStatsManager用于查询应用使用详情,配置详情,事件日志数据,开发过程中可以通过这个接口获取应用使用数据,然后自定义展示方式。本地数据存储在/data/system/usagestats/目录下,该目录下以不同的类型分为5个文件夹,分别是:

  • daily
  • weekly
  • monthly
  • yearly
  • version(文件)
    当查询的时候,对应了四个不同的变量,去查询对应文件夹下的数据,每个文件的名称是时间戳。四个类型是:
	public static final int INTERVAL_DAILY = 0;
    /**
     * An interval type that spans a week. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_WEEKLY = 1;
    /**
     * An interval type that spans a month. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_MONTHLY = 2;
    /**
     * An interval type that spans a year. See {@link #queryUsageStats(int, long, long)}.
     */
    public static final int INTERVAL_YEARLY = 3;

2、部分细节

  • 读取数据的时候先从本地磁盘读取,完了之后再从内存里面读取,两份数据合并到一个列表里面返回。
  • 写数据的时候,并不是马上写到磁盘,而是等20分钟之后再往磁盘里面写,避免频繁IO。
  • 读写使用数据属于IO操作,客户端不应该在主线程调用读数据接口,即使在工作线程也不应该过于频繁,否则性能会受到很大的影响。

3、流程图概览


清晰图片地址:https://i-blog.csdnimg.cn/blog_migrate/93c6e27a66b2120b071226901b6ec04c.jpeg
文章将会同步到公众号:Android部落格。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值