我如何计时在android中需要多长时间

Posted

技术标签:

【中文标题】我如何计时在android中需要多长时间【英文标题】:How do I time how long things take in android 【发布时间】:2016-02-25 22:57:09 【问题描述】:

我正试图弄清楚如何计算我的 android 应用程序中按钮按下的时间和内容的时间。 android sdk中是否有工具可以为我做这种事情?或者是否有某种行业标准工具可以用来捕获这些数据?

【问题讨论】:

值得一读:***.com/questions/1770010/… 谢谢安迪,读得很好。但是,我有点想寻找某种类型的第三方应用程序,它可以让我在不编辑太多代码的情况下捕获这些信息。我是一个带有 android 应用程序的项目的测试人员,我有兴趣从最终用户的角度捕获时间指标。我认为我的问题会导致大量最新的 3rd 方应用程序这样做。 询问第三方应用推荐的问题是题外话。也许看看developer.android.com/tools/performance/index.html#cpu-tools,我是通过谷歌搜索“android profiling tools”找到的。 啊,明白了。谢谢安迪:) 【参考方案1】:

最常见的方法是在代码启动时使用 System.nanoTime() 获取开始时间,然后从 System.nanoTime() 的另一个调用中减去该时间。

IE:

long dTime = System.nanoTime() - startTime;

就按下按钮的时间而言,使用 onTouch 侦听器,然后在 on down 事件中获取开始时间,并使用 on up 事件计算时间。

【讨论】:

请阅读我在评论中发布的“值得一读”的答案,特别是 Kevin Bourillion's answer,了解为什么不应该为此目的使用 System.currentTimeMillis() 如果您不关心准确性,两者都可以,但我明白您的意思。 nanoTime() 也无法测量非常长的时间间隔 ... 没关系 2^63 是 292 年。所以使用 nanoTime() 是更好的选择。

以上是关于我如何计时在android中需要多长时间的主要内容,如果未能解决你的问题,请参考以下文章

Android listview 计时器每秒运行一次

如何在 Java 中计时方法的执行?

如何通过在倒数计时器中按住按钮来添加值

如何在android中设置计时器?

Android基础到进阶UI 计时器Chronometer 使用+实例

Android基础到进阶UI 计时器Chronometer 使用+实例