Start Debugging
2020-04-04 更新日 2023-11-05 androidxamarin Edit on GitHub

Xamarin の Android 向け Startup Tracing

Xamarin Android アプリの起動時間を最大 48% 短縮できる startup tracing を使い、起動時に必要なコードだけを AOT コンパイルします。

アプリの起動時間は重要です。ユーザーがそのアプリのパフォーマンスについて最初に受け取る印象だからです。使うたびにアプリのロードに 10 秒かかるなら、何を約束されても意味はありません。「実は動いていないのでは」と思って、ユーザーがアンインストールしてしまうこともあります。Xamarin Android では、これは長らくホットな話題でした。そこでチームは、startup tracing を導入して、この問題により積極的に取り組むことにしました。

startup tracing とは

要するに、アセンブリの一部を just-in-time (JIT) ではなく ahead-of-time (AOT) でコンパイルし、コード実行時のオーバーヘッドを減らす代わりに、APK サイズを増やすという仕組みです。

具体的には、startup tracing はアプリのカスタムプロファイルに基づいて、起動時にアプリが必要とするものだけを AOT 化します。そのため、APK の増加は最小限に抑えつつ、効果は最大化されます。

Xamarin チームが共有しているいくつかの数値です。

種類起動時間APK サイズ
Normal2914 ms16.1 MB
AOT1180 ms (-59%)34.6 MB (+115%)
Startup Tracing1518 ms (-48%)20.1 MB (+25%)

startup tracing を有効にする

有効にするのは簡単です。Xamarin Android プロジェクトの設定 (右クリック > Properties) を開き、下の画像のように “Code Generation and Runtime” の “Enable Startup Tracing” にチェックを入れるだけです。

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< 戻る