60フレーム飛ばした!?アプリケーションがメインスレッドで過剰な作業を行っている可能性があります。
2022-02-16 23:03:14
最近、アプリのインターフェイスが飛び跳ねると非常に動かなくなることを発見しました。それは非常に明白で、以下のように出力されるログをご覧ください。
The application may be doing too much work on its main thread
これは、スキップされた60フレームがメインスレッドでより時間のかかる処理をしているかもしれないが、アプリケーションがANRに達するほどではない、というシンプルでわかりやすいヒントです。
これは厄介な、明らかにすでにああの最適化、本当に困惑している。理由は、アクティビティ内のコードの初期化ではなく、インターフェイスのレイアウトは、間違いなく我々はすべてのインターフェイスの写真や大きな画像をたくさん使用して、インターフェイスが描画するために長い時間がかかるようになります。
//imagview for example references a large image
<ImageView
android:id="@+id/iv_play_dist"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"
/>
問題が見つかったので、解決方法は簡単で、以下に1つを示します。
playDistImageView= (ImageView) findViewById(R.id.iv_play_dist);
Glide.with(this).load(R.drawable.play_disc).into(playDistImageView);
アイデアは簡単で、この画像をレイアウトファイルに直接設定する代わりに、設定するコードに入れ、さらに最適化のために画像読み込みフレームワークも使用するのです。
これが終わったら、もう一度アプリを開いてみてください。ジャンプしたときのインターフェイスがいかにスムーズか、おわかりいただけると思います。
関連
-
AndroidStudioは、新しいプロジェクト:エミュレータを作成した後、エラーを報告します。ERROR: x86 emulation currently requires hardware acceleration!
-
Android Studioの解決策:xxxは囲むクラスではありませんエラー
-
AndroidManifest.xml は、アプリが Google 検索でインデックス化されていないことを警告しています。
-
エラーの報告です。ArrayAdapter は、リソース ID が TextView である必要があります。
-
Android携帯で通常のhttpsのサイトにアクセスすると、最初のリクエストで認証パスのトラストアンカーが見つからないと報告され、その後正常にアクセスできるようになり、問題が解決しました。
-
Android統計チャート MPAndroidChart
-
ColorDrawableの簡単な使い方
-
AndroidManifest.xml の use-sdk 警告メソッドを削除する。
-
AndroidManifestの使用機能の設定
-
Androidエラー:このターゲットで使用できるCPU/ABIシステムイメージがありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android Studio 3.1.2 新規プロジェクトのエラー AAPT2エラー:詳細はログを確認してください(Gradle 3.1.2)
-
シンボル 'AppCompatActivity' の解決策を解決できない
-
Androidでコンストラクタのインテントを解決できない原因と解決策
-
Android StudioでJavaファイルが認識されない問題を解決(赤いJが表示される)。
-
Android リソースのリンクに失敗する、解決方法
-
selectionに主な型が含まれていないエラー
-
android ImageViewの割り当て問題 setImageResourceとsetImageBitmap
-
Androidスレッドの詳細
-
Android Studio精彩案例(七)《ToolBar使用详解<一>》
-
Android 問題その9:AVD フォルダにコピーする ABI armeabi 用の 'userdata.img' ファイルが見つからない。