アプリケーションがメインスレッドで過剰に作業している可能性があります。
2022-02-16 08:02:53
振付師
37フレーム飛ばした!?アプリケーションがメインスレッドで仕事をしすぎている可能性があります。
原因 ------ メインスレッドでいろいろ操作しすぎです。おそらく、ページの更新頻度が高すぎるのでしょう。
回避策 (1)マーカーを追加して、不要なページ更新を減らす。
(2) ビューの post() または postDelayed() メソッドを呼び出すことで、ビューが完全に表示された後にツリーの更新作業を行うことができます。
(3) ビューの表示・非表示状態を判断するためにview.isShown()を呼び出す回数が多すぎる isShown()は実はちょっとした鶏餌(ソースコード参照 ←_←)、ビューの表示・非表示状態を識別するには単純なブール変数でOK、パフォーマンスは犠牲にしない; isShown()もちょっとした曲解で、そのメソッドを呼ぶと親コントロール自体を指している場合がある ←_← というところです。
さて、もう限界なので、同じような悩みを抱えている方、参考になれば幸いです~~。
/** Press state when or not ***/
private boolean isDown;
/* Whether the recording screen is displayed or not **/
private boolean isTimeShown;
/** whether to cancel the recording interface **/
private boolean isCancelShown;
// Show the recording page
if(!isTimeShown){
audio_time.setVisibility(View.VISIBLE);
isTimeShown = true;
}
if(isCancelShown){
audio_cancel.setVisibility(View.GONE);
isCancelShown = false;
}
if(!isDown){
isDown = true;
audio_match.postDelayed(new Runnable() {
@Override
public void run() {
audio_match.setBackgroundColor(getResources().getColor(R.color.record_btn_bg_c));
audio_match.setTextColor(getResources().getColor(R.color.white));
}
}, 15);
}
関連
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
AndroidでListViewを使ってカスタムテーブルを描画する
-
Androidカスタムドロップダウンリストボックスコントロール
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について
-
CursorIndexOutOfBoundsException:インデックス -1 が要求されました。
-
新しいAndroidプロジェクトの作成時に、AndroidManifest.xmlファイルが見つからないというプロンプトが表示されます。
-
android.view.inflateexception 例外処理
最新
-
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.os の NetworkOnMainThreadException。
-
cygwinのダウンロード、インストールチュートリアル、およびCDTの「makeプログラムがパスに見つからない」バグの解消
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
エラーが発生しました。ArrayAdapter は、リソース ID が TextView である必要があります。
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
repo: コマンドが見つかりません
-
Android Bluetooth 開発の基本プロセス