1

で4.1バージョンのエミュレーターでAndroidの最新バージョンのSDKを使用していますeclipse (Helios)。すべてがうまくいっています。しかし、私logcatのアプリケーションでは、実行ごとに次のステートメントが取得されます。

I/Choreographer(1250): Skipped 1001 frames!  The application may be doing too much work on its main thread.

Hello world アプリケーションでも、同じ logcat 出力が得られます。アプリケーションでマルチスレッドを使用していません。logcat でこれらのログを取得している理由を教えてください。

これが私のコードです

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_jsonparsing);

    _mContext = this;
    lv = (ListView) findViewById(R.id.listview);

    new JSONParserTask().execute();
}

私の非同期タスクでは、サーバーから JSONArray を取得し、解析して一覧表示しています。

4

3 に答える 3

3

Android デベロッパー ドキュメントには、次の情報が提供されています。

choreographer、ディスプレイ サブシステムからタイミング パルス (垂直同期など) を受信し、次のディスプレイ フレームのレンダリングの一部として実行される作業をスケジュールします。

通常、アプリケーションはchoreographer、アニメーション フレームワークまたはビュー階層の上位レベルの抽象化を間接的に使用して対話します。

詳細については、このリンクこのを参照してください。

于 2012-10-23T10:20:35.587 に答える
3

この logcat トレース

 I/Choreographer(1250): Skipped 1001 frames! 

アプリケーションがメイン スレッドで処理しすぎている可能性があります。これは、メイン スレッドで大量のタスクを実行していることを示しています。そのようなタスクを実行している場合は、別のスレッド メカニズム ( など) を使用AsyncTaskThreadて実行してください。このログは消えます。

そうでない場合は、コードのスニペットを貼り付けてください!!

于 2012-10-23T10:32:03.480 に答える
1

エミュレーターでアプリケーションを実行していますか? AVD に割り当てられたメモリを増やすと、この警告が削除される可能性があります!!..デバイス エミュレーターに割り当てられているメモリが少ない場合、同様の問題に直面します。

于 2012-10-23T10:28:26.040 に答える