Art: Überprüfung von X dauerte Y ms

Ich habe eine Warnung in meinem Logcat:

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

Hier ist der Code:

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();
                 }
            );

220ms ist ziemlich viel (und ich habe das Gefühl, beim Starten dieses Fragments eine Verzögerung zu bemerken).

Ich verwende RxJava und retrolambda, aber dies ist nicht die einzige Stelle, an der diese Nachricht angezeigt wird. Ich glaube also nicht, dass sie in direktem Zusammenhang steht.

Wie kann ich die Überprüfungszeit beeinflussen? Lohnt es sich überhaupt?

Es scheint, als hätte es etwas mit zyklomatischer Komplexität zu tun, da ich das Waring durch Entfernen des @ loswerden könntSnackbar.make ruft imif mit etwas mehrtrocke code:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage