Android:获得每项活动花费的时间

首先,我不是在寻找在给定应用程序上花费的时间.已有“应用程序”,com.android.settings / .UsageStats,以及AOSP框架/ base / services / java / com / android / server / am / UsageStatsService.java等中的大量支持代码.

到目前为止,我检查过的代码似乎没有记录在特定< activity>上花费的时间.我曾想过以两种方式获取这些信息,但我觉得必须有更清洁,更简单的东西,它可以利用更多的现有代码.这些想法是:

>检测基类Activity类onPause()和onResume(),以便在时间戳中进行黑客攻击,并将信息记录到某个地方(可能是SQLite数据库).
>检测Context类,每当调用startActivity()和friends时都要记下.

那你觉得怎么样 – 比那些选择更好?先感谢您!

解决方法:

So what do you think — anything better than those options?

一切都比#2好,这需要自定义固件.

#1是您在关闭AFAIK的API级别13的SDK中的唯一选项.

在Application.ActivityLifecycleCallbacks中添加了API Level 14(a.k.a.,Android 4.0),您可以通过在Application上调用的registerActivityLifecycleCallbacks()进行注册(例如,getApplicationContext()).我还没有使用过这些,但看起来你可以安排一个监听器收到来来往往的活动的通知,避免强迫你用你想要的日志记录扩展一些常见的基础Activity类.

上一篇:验证radio 是否被选中


下一篇:C++自己实现一个String类