問題タブ [android-threading]
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.
android - まれな Handler.post により、巨大なフレーム ドロップとクラッシュが発生する
ネットワーク上のデバイスを検出するために、UDP ブロードキャストをリッスンする単純なスレッドがあります。ブロードキャストを受信するたびに、デバイスの IP を に追加するために、UI スレッドの に をRunnable
投稿します。せいぜい、2 秒に 1 回パケットを受信します。投稿が 2 秒ごとにのみ発生することを確認しました。Handler
ArrayList
私のアプリにもいくつかのフラグメントがあります。フラグメント間で使用を切り替えるたびにNavController.navigate()
、100 ~ 400 のフレーム ドロップと ANR が発生します。スレッドを無効にするか、重複の検索とデバイスの追加を無効にするだけでもArrayList
、フレームのドロップはなくなりますが、検索と追加にかかる時間は 1 ミリ秒未満です (デバッグ プリントによると)。
の問題に関する他のスレッドをたくさん読みましたHandlers
が、どれも役に立ちませんでした。私の投稿がなぜ多くのフレームドロップを引き起こしているのか、何か考えはありますか?
スレッドの実行方法は次のとおりです。
そして、UI スレッドに投稿される addGeophone 関数: