1. ホーム
  2. android

[解決済み】LogcatのChoreographerメッセージの意味【重複あり

2022-04-15 15:15:16

質問

の最新版をインストールしました。 SDK (API 16) を取得し、最新のADTを取得しました。今、logcatでこのようなメッセージが表示されています。どなたか、この件に関してお分かりになる方はいらっしゃいますか?

<ブロッククオート

06-29 23:11:17.796: I/Choreographer(691): 647フレームをスキップしました この アプリケーションはメインスレッドで多くの作業を行いすぎている可能性があります。

検索してみたら、こんなリンクがありました。 http://developer.android.com/reference/android/view/Choreographer.html . これはAPI16で導入された新しいクラスです。

私のアプリケーションは、すべての処理が AsyncTask s.

解決方法は?

Choreographerは、アプリをvsyncに接続し、パフォーマンスを向上させるために適切な時間を設定します。

Androidのビューアニメーションは、内部的に同じ目的でChoreographerを使用しています:アニメーションの時間を適切に調整し、パフォーマンスを向上させる可能性があります。

Choreographerはすべてのvsyncイベントを知っているので、Choreographer.post* apisから渡されたRunnableの1つが1フレーム時間内に終了しない場合、フレームをスキップさせることが可能です。

私の理解では、Choreographerはフレームスキップを検出するだけです。なぜこのようなことが起こるのかを知る術はありません。

アプリケーションはメインスレッドであまりにも多くの作業を行っている可能性があります。