1. ホーム
  2. android

Androidアプリケーションのパフォーマンスをテストするには?

2023-11-03 21:24:21

質問

Android でアプリケーションのパフォーマンスをテストするにはどうしたらよいでしょうか。 Androidで提供されるサポートとその利用方法を教えてください。

どのように解決するのですか?

アプリケーションをプロファイリングしてパフォーマンスのボトルネックを見つけたい場合は、次のようにします。 を使用します。 traceview ツール . これにより、アプリケーションのパフォーマンストレースをグラフィカルに表示することができます。

トレースを作成するには、トレースを開始したいコードに以下を追加してください。

Debug.startMethodTracing("myapp");

と記述し、トレースを停止したい場合は以下のように記述します。

Debug.stopMethodTracing();

これは、トレースファイルの呼び出しを作成します myapp.trace というトレースファイルが SD カードのルートディレクトリに作成されます。 SDカードに書き込まれるため。

  • エミュレータを使用している場合は、次のようになります。 SD カードを AVD に追加する .
  • Manifestに以下を追加して、アプリにSDカードへの書き込み権限を与える必要があります。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

ファイルが作成されたら、それを PC にコピーする必要があります。 これを行うには adb コマンドを使用します。

adb pull /sdcard/myapp.trace c:/my/dir/myapp.trace

最後に traceview を与えます。 フルパス を与えます。

traceview c:/my/dir/myapp.trace

にはいくつかの問題がありました。 traceview で失敗することがありました。 OutOfMemory の例外が発生します。 Windows では、最後の行の traceview.bat から変更しました。

call java -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*

になります。

call java -Xmx1g -Djava.ext.dirs=%javaextdirs% -Dcom.android.traceview.toolsdir= -jar %jarpath% %*

を追加することで -Xmx1g オプションにより traceview がより多くのメモリを使用するようになります。