方法reportFullyDrawn()有解决方法吗?

时间:2016-10-03 09:57:05

标签: android

我正在尝试衡量应用发布时间,并且记录的reportFullyDrawn()是报告我正在寻找的时间的解决方案。

https://developer.android.com/topic/performance/launch-time.html

https://developer.android.com/reference/android/app/Activity.html#reportFullyDrawn()

事实证明,在runtime上,reportFullyDrawn()方法会抛出异常

"java.lang.SecurityException: uid 10156 does not have android.permission.UPDATE_DEVICE_STATS".

此外,该应用程序不会自动将启动时间报告为" Displayed"日志中的行(如果我没有弄错的话,应该如此)。

我没有在任何地方找到这个问题。这是否发生在其他人身上?有解决方法吗?

1 个答案:

答案 0 :(得分:0)

你只需要捕捉异常。该方法有效,但遗憾的是它会抛出SecurityException。没有办法解决它。

在这个演示文稿中,它提出了一个优雅的解决方案同样的问题。 https://speakerdeck.com/cyrilmottier/launch-screens-from-a-tap-to-your-app

就像Android支持库中的Compat类一样,他将修复程序包装到Compat类中的静态方法中,以封装丑陋的try / catch。