3

私はAndroid(およびJava)の開発は初めてです。私はうまくやっていると思っていました.XMLファイルを読み取り、SQLiteデータベースに解析し、データベースからプルしてさまざまなサイトセクション(ニュース項目のスクロール可能なリスト)を作成するアプリを持っています...など. インポートプロセスに AsyncTasks を使用しています...など。

しかし - 私のアプリは、最初の読み込みに永遠に (15-25) 秒かかり、セクションを切り替えるたびに最大 10 秒かかります (単一の XML ファイルを SQLite データベースに解析し、listView に入力します)。

セクションの切り替えに2〜3秒かかるiPhoneアプリと比較して...

TLDR:
アプリの実行速度が遅い原因を特定するにはどうすればよいですか? スレッドモニターか何かがありますか - Log.d() を全体に配置する以外に、何が非常に時間がかかっているかを表示する方法はありますか?

4

2 に答える 2

3

traceViewに含まれる情報が多すぎると、簡単に迷子になる可能性があります。

私の解決策は、コードの3つの場所でシステム時刻をログに記録することです。

潜在的なスローコードの前後と中心。

二分探索のように、次回は段階的に絞り込み、最後に原因コードを見つけます。

于 2012-07-25T03:45:00.127 に答える
3

traceviewをチェックしてください。

これは、アプリがどこで時間を費やしているかをメソッド レベルまで確認できる非常に優れたツールです。ここでの説明では正当化できません。リンクをたどって見てください。

strictmodeを調べることもできますが、これはアプリの UI が応答しない理由を理解するためのものです。

于 2012-07-25T01:35:56.767 に答える