相关疑难解决方法(0)

艺术:X的验证花了Y ms

我的logcat中有一个警告:

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

这是代码:

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();
                 }
            );
Run Code Online (Sandbox Code Playgroud)

220ms是相当多的(我觉得我注意到片段启动时滞后).

我正在使用RxJava和retrolambda,但这不是弹出此消息的唯一地点,所以我认为它不直接相关.

我如何影响验证时间?它甚至值得吗?

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

String errorMessage;
if (errorResponse.code() == ApiResult.BAD_REQUEST) {
    errorMessage = getString(R.string.login_bad_credentials);
} else {
    errorMessage = …
Run Code Online (Sandbox Code Playgroud)

performance android android-runtime

15
推荐指数
2
解决办法
3873
查看次数

验证..让我发疯

每当我运行我的应用程序(设备或仿真器是相同的)时,即使不对代码进行任何更改,我从最大的Activity中获得的每个方法都如下:

W/art: Verification of void com.xyz.abx.setCredit(boolean) took 343.200ms
Run Code Online (Sandbox Code Playgroud)

由于应用程序很大,因此每次都要花几分钟时间,这确实使我发疯。奇怪的是,它对其他所有较小的活动都没有执行此操作。我有

android:vmSafeMode="true"
Run Code Online (Sandbox Code Playgroud)

在清单中按照SO线程中的建议进行操作,但无济于事。我已阅读此主题

艺术:X的验证花了Y毫秒, 然后阅读了以下文档:https : //developer.android.com/guide/practices/verifying-apps-art

java android android-manifest dex android-studio

5
推荐指数
0
解决办法
124
查看次数