web-dev-qa-db-fra.com

"Bits inconnus définis dans runtime_flags: 0x8000" avertissement dans Logcat sur Android Q emulator

J'obtiens cet avertissement comme première ligne de mon application dans logcat, et je n'ai aucune idée de ce à quoi il se réfère et comment je dois y remédier. Google n'offre pas beaucoup d'informations à ce sujet (en fait, pas du tout). S'il vous plaît donnez votre avis. De quel type de drapeaux s'agit-il? Existe-t-il un moyen de savoir à quoi le bit spécifié pourrait faire référence (ou, peut-être, faisait référence sur les anciennes Android)? Il n'y a pas une telle ligne dans le journal Android 9 ou versions antérieures.

37
Violet Giraffe

J'ai cherché et j'ai une suggestion à vous faire.

Jetez d'abord un œil à ces liens:

hexadécimal-0x80

différence entre les constantes 32768 et 0x80

Maintenant, ces liens peuvent vous aider:

Fragment Android aucune vue trouvée pour l'ID

FLAG_ACTIVITY_CLEAR_TOP

addFlags (0x8000)

et la dernière chose est:

Désinstallez l'application de l'émulateur et réexécutez le projet.

Première édition:

J'ai recherché à nouveau et je pense que nous sommes sur le point de répondre, alors veuillez vérifier ces liens et dire ce que vous en pensez? sont-ils hors de propos? ou nous sommes sur la bonne voie.

...

AConfiguration

org.robolectric.res.Android

Classe AConfiguration

ACONFIGURATION_SCREEN_ROUND

public static final int ACONFIGURATION_SCREEN_ROUND

...

\ sdk\ndk-bundle\sysroot\usr\include\Android

configuration.h

   * Bit mask for
   * <a href="@dacRoot/guide/topics/resources/providing-resources.html#LayoutDirectionQualifier">layout direction</a>
   * configuration.

   ACONFIGURATION_LAYOUTDIR = 0x4000,
   ACONFIGURATION_SCREEN_ROUND = 0x8000

...

https://developer.Android.com/ndk/reference/group/configuration

Android_ndk_sys

 Constant : ACONFIGURATION_SCREEN_ROUND
 ->
 Constant Android_ndk_sys::ACONFIGURATION_SCREEN_ROUND
 pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_3
 ->
 Type Definition Android_ndk_sys::_bindgen_ty_3

 type _bindgen_ty_3 = u32;

...

ACAMERA_VENDOR = 0x80

 ACAMERA_VENDOR = 0x8000
 ACAMERA_DISTORTION_CORRECTION << 16,
   ACAMERA_HEIC_START = ACAMERA_HEIC << 16,
   ACAMERA_HEIC_INFO_START = ACAMERA_HEIC_INFO << 16,
   ACAMERA_VENDOR_START = ACAMERA_VENDOR << 16
1
Hamed Karami

J'apporte une pierre au bâtiment. Je retrace le code du message d'erreur. C'est à la ligne 345 dans le fichier C++ dalvik_system_ZygoteHooks.cc Au minimum, si (runtime_flags! = 0) alors le message d'erreur sera imprimé. 0x8000 correspond également à l'indicateur USE_APP_IMAGE_STARTUP_CACHE (voir ligne 157). Le test sur l'indicateur USE_APP_IMAGE_STARTUP_CACHE est effectué sur la ligne 340. Normalement, runtime_flags ne doit plus avoir de bit augmenté pour USE_APP_IMAGE_STARTUP_CACHE mais cela ne semble pas être le cas puisque l'erreur est imprimée.

Mais au final, l'erreur ne semble pas avoir d'impact sur l'application.

1
Pierre Lepage

Dans mon cas, cela se produit au moins parce que le fragment a essayé de mettre à jour la vue (ou quelque chose comme ça) alors qu'une activité différente était déjà en cours d'exécution, donc juste

@Override
public void onStop() {
    super.onStop();
    getActivity().finish();
}

à l'intérieur du fragment a résolu cette erreur

0
sivi