android - 艺术 : Verification of X took Y ms

标签 android performance android-runtime

我的 logcat 中有一个警告:

W/art: Verification of void com.myapp.LoginFragment$override.lambda$logIn$5(com.myapp.LoginFragment, java.lang.Throwable) took 217.578ms

代码如下:

subscription = viewModel.logIn()
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
               this::showStudioSelection,
               error -> {
                    ErrorResponse errorResponse = ErrorResponseFactory.create(error);

                    if (errorResponse.code() == ApiResult.BAD_REQUEST) {
                       Snackbar.make(getView(), R.string.login_bad_credentials, Snackbar.LENGTH_LONG)
                            .setAction(android.R.string.ok, v -> {})
                            .show();
                    } else {
                        Snackbar.make(getView(), "Unknown error " + errorResponse.code(), Snackbar.LENGTH_LONG)
                            .setAction(android.R.string.ok, v -> {})
                            .show();
                    }
                    viewModel.updateLoginButtonState();
                 }
            );

220 毫秒很多(我觉得我注意到该 fragment 的启动滞后)。

我使用的是 RxJava 和 retrolambda,但这不是唯一会弹出此消息的地方,所以我认为它没有直接关系。

我如何影响验证时间?是否值得?

它似乎与圈复杂度有关,因为我可以通过删除 if 中的 Snackbar.make 调用来摆脱警告代码:

String errorMessage;
if (errorResponse.code() == ApiResult.BAD_REQUEST) {
    errorMessage = getString(R.string.login_bad_credentials);
} else {
    errorMessage = "Unknown error " + errorResponse.code();
}

最佳答案

对于 2020 年及以后寻找解决方案的任何人——Android 11 在开发者选项中具有以下设置:

enter image description here

默认开启。在调试时将其关闭以消除每次启动应用程序时令人讨厌的延迟。

关于android - 艺术 : Verification of X took Y ms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006954/

相关文章:

c++ - 你最喜欢的分析工具是什么(用于 C++)

android - 如何从 CursorLoader 刷新光标?

android 在拖放时滚动

ruby - 为什么 Process.fork 会使 OS X 上的 Ruby 变慢?

iphone - 什么更快 : Creating a gradient programmatically using Quartz2D or just importing an image?

android - java.lang.StackOverflow Error for Android L预览跑图

Java:在 JNI 中访问静态最终字段

java - native 崩溃 : JNI DETECTED ERROR IN APPLICATION: [thread] using JNIEnv* from [thread]

java - 用于 ServiceConnection 回调的线程 (Android)

java - 为什么随机按钮游戏在第一次点击后有缺陷?