問題タブ [android-strictmode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
379 参照

android - StrictMode が SQLite による読み取り/書き込み操作をキャッチしないのはなぜですか?

私のアプリでは、StrictMode を次のように設定しています。

ある時点で、SQLite 操作が別のスレッドに配置されていない場所がほとんどないことに気付きましたが、それでも StrictMode 違反をトリガーしません。Android 5.1.1 を搭載した実際のデバイスと、4.4.4 および 5.1.1 を搭載した Genymotions でテストしましたが、結果は同じでした。StrictMode 違反をトリガーするために SQLite 操作を使用していた記憶がありますが、現在はそうではありません。理由はありますか?

ドキュメントで次のことを見ました。

特に、JNI 呼び出しからのディスクまたはネットワークへのアクセスが、必ずしもそれをトリガーするとは限りません。

それが理由ですか?

0 投票する
0 に答える
373 参照

android - アプリを閉じるペナルティ死亡の StrictMode

これらのオプションを使用して、アプリに StrictMode を実装しました。

アプリケーションには 2 つのアクティビティ (A と B) があり、シナリオは次のとおりです。

  1. アクティビティAのonCreateメソッドにStrictModeを実装
  2. BアクティビティはAから開始されます
  3. B 活動が終了し、活動 A に戻る
  4. BアクティビティはAから開始されます
  5. B アクティビティが終了し、A アクティビティが StrictMode によって強制終了されます (penaltyDeath)

アクティビティ A が強制終了されると、次のメッセージが表示されます。

クラス AActivity; インスタンス = 2; limit=1 android.os.StrictMode$InstanceCountViolation: クラス AActivity; インスタンス = 2; android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1) で limit=1

アクティビティ B は、カスタム ボタンを介して開始されます (B アクティビティと同じように、空のコンストラクターのみがあります)。StrictMode でクラス インスタンスの制限を設定しようとしましたが、結果はありませんでした。興味深いことに、penallyDeath() オプションがないと、アクティビティ インスタンスの数が 15 ~ 17 まで増加し、その後 GC が発生します。

誰かが StrictMode で同様の問題を抱えていますか?

0 投票する
2 に答える
438 参照

android - EditText により、Activity がリークしました。現在のスタックオーバーフローの回答はありません

Android Strict Mode がオンになっているコード、VmPolicy detectAll および Penalty Death があります。これはアプリケーションでオンになっています。

そのため、メモリリークを検出するのに役立ちます。私のコードは非常にシンプルで、2 つのアクティビティ (ほぼ空白) です。MainActivity には、SubActivity を開くためのボタン クリックがあります。SubActivity には EditText が 1 つだけあります。

コードはここから入手できますhttps://github.com/eye/issue_edittextleak

コードを実行すると、MainActivity から SubActivity に移動し、(Back キーを使用して) MainActivity に戻り、SubActivity に移動して、戻る... でクラッシュします

これは、SubActivity がリークしたことを検出したためです。

EditText があるため、SubActivity がリークした理由。外すと漏れなくなります。

これは、Samsung S5 Lollipop 5.0 (v21) で発生します。KitKat (v19) でもリークします。Samsung S7 Marshmallow と Nexus 6 (Nougat) では発生しません。

Emulated Nexus 5 Lollipop 5.0.2 (v21) では発生しません。ただし、Emulated Nexus 5 の v19 で発生します。

多くのスタックオーバーフローをチェックしましたが、解決策が見つかりません。この問題の詳細と私の調査については、https://medium.com/@eye.project/hell-level-4-unleashed-by-android-strict-mode-dare-you-challenge-itをご覧ください。 -1dc9048bb4fb#.aiffbdikn

それで、私は何をしたいですか? Lollipop 5.0.2 以降ではメモリ リークが解決されていると思います。しかし、それ以前のバージョンでは、editText を取得できる間にリークを防ぐにはどうすればよいでしょうか?

0 投票する
1 に答える
802 参照

android - StrictMode 違反をトリガーする Adview loadAd()

アプリケーションに追加を追加しようとしています。StrictMode を有効にすると、このような一連のポリシー違反が発生します (おそらく 6 つまたは 7 つ)。これは正常ですか?

adview のコードは次のようになります。

0 投票する
2 に答える
793 参照

android - StrictMode.noteSlowCall はどのように使用できますか?

StrictMode.noteSlowCall を使いたいだけです。どうすればいいのかわからない。開発者サイト/androidxref には十分な説明がありません。

以下は私のコードです。

以下は他のファイルです...

私はこれらのコードを試しました。ボタンを押してもログファイルやドロップボックスに反映されません。何が問題なのか教えていただけますか?

0 投票する
1 に答える
4400 参照

android - logcat で StrictMode の詳細が表示されない - 画面の回転で StrictMode ポリシー違反が抑制されました

私の問題はこれです、私はこのトレースのソースを理解しようとしています:

画面を縦向きから横向き、またはその逆に回転するたびに、これらの StrictMode 行が Android Studio logcat に表示されます。StrictMode がメインのアクティビティ (唯一のアクティビティ) でアクティブになっていると思われるため、logcat が「抑制」を示す理由がわかりません。

追加情報: マップを操作しているときに、この厳密モード違反が表示され、FrameLayout のマップ フラグメントが表示されます。

logcat の追加行

ありがとうございます!

0 投票する
1 に答える
2545 参照

android - StrictMode ポリシー違反: Android の StrictModeDiskReadViolation、WriteViolation

Google マップを使用する Android プロジェクトに取り組んでいます。プロジェクトの開発に使用したため、アプリは5.1.1 Androidバージョンの携帯電話で完全に機能しますが、同じアプリは他の携帯電話(6.0.0 Android)では機能しません。他の携帯電話では Google マップが更新されません。(現在の場所には行きません)。Google マップが他の携帯電話で更新されないのはなぜですか?

これを促す;