web-dev-qa-db-ja.com

Android QエミュレーターのLogcatで「runtime_flags:0x8000に設定された不明なビット」警告

Logcatのアプリの最初の行にこの警告が表示されますが、それが何を指し、どのように修正する必要があるのか​​わかりません。グーグルはこれについて多くの情報を提供していません(実際、全く何もありません)。お知らせ下さい。これはどんな種類の旗でしょうか?指定されたビットが何を参照しているのかを調べる方法はありますか(または、古いAndroidバージョン)で参照されている可能性があります)?ログにそのような行がありませんAndroid 9以前のバージョン。

37
Violet Giraffe

私は検索し、あなたにいくつかの提案があります。

まず最初にこのリンクを見てください:

16進数の0x80

定数32768と0x8000の違い

今、このリンクはあなたを助けることができるかもしれません:

AndroidフラグメントIDのビューが見つかりません

FLAG_ACTIVITY_CLEAR_TOP

addFlags(0x8000)

そして最後に:

エミュレータからアプリをアンインストールして、もう一度プロジェクトを実行します。

最初の編集:

もう一度検索しましたが、答えは近いと思いますので、このリンクをチェックしてどう思いますかそれらは無関係ですか?または私たちは正しい道にいます。

...

AConfiguration

org.robolectric.res.Android

クラス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

石を建物に持ってきます。エラーメッセージのコードをたどります。 C++ファイルの345行目にあります dalvik_system_ZygoteHooks.cc 少なくとも、(runtime_flags!= 0)の場合、エラーメッセージが出力されます。 0x8000はUSE_APP_IMAGE_STARTUP_CACHEフラグにも対応しています(157行目を参照)。 USE_APP_IMAGE_STARTUP_CACHEフラグのテストは、行340で行われます。通常、runtime_flagsにはUSE_APP_IMAGE_STARTUP_CACHEのビットが生成されていないはずですが、エラーが出力されるため、これは当てはまりません。

しかし、最終的には、エラーがアプリケーションに影響を与えるようには見えません。

1
Pierre Lepage

私の場合は少なくとも、別のアクティビティがすでに実行されているときにフラグメントがビュー(またはこのようなもの)を更新しようとしたために発生します。

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

フラグメント内でこのエラーが解決されました

0
sivi