Build app fast on Android Studio 4.+

6eecc52120fba9d87d982684211182ec?s=47 mochico
August 04, 2020

Build app fast on Android Studio 4.+

Android 11 Meetups にて、Android Studio 4.0以降に追加された Build Analyzer、CPU Profiler、Database Inspectorなどの新機能を使って効率的に高性能なアプリを開発する方法について発表しました。
https://developersonair.withgoogle.com/events/a11meetups-jp/watch?talk=android-dev-tool
Android 11 Meetups は Android 11 Beta のリリースを機に、アプリ開発の最新技術情報をお届けすべく、Google と GDG (Google Developer Groups)が共催するオンラインセミナーシリーズです。

6eecc52120fba9d87d982684211182ec?s=128

mochico

August 04, 2020
Tweet

Transcript

  1. Build app fast on Android Studio 4.+ mochico / 望月美帆

    Android Engineer Working at Mercari. Inc,
  2. Android Studio 4.+

  3. v3 and v4 signing now supported Support for Jetpack Compose

    New Jetpack Compose tooling support Improved instrumentation testing Android Studio Releases 4.1 4.0 4.2 Stable Beta Canary CPU profiler UI Upgrade Build Analyzer Live Layout Inspector Multi Preview Java 8 desugaring Kotlin DSL Script file support Upgrade Motion Motion Editor Android Gradle Plugin 4.0.0 Kotlin Android Live Template System Trace UI Standalone profilers Updated themes and styles in new project templates Dagger navigation support Run the Android Emulator directly Database Inspector Native Memory profiler Set the NDK path Use TensorFlow Lite models Assertions in debug builds Apply Changes Export C/C++ dependencies from AARs
  4. Android Studio 4.0 Build Analyzer CPU profiler UI Upgrade Pick

    up New Features Android Studio 4.1 Beta Database Inspector
  5. Build Analyzer

  6. Build Analyzer ビルドの速度をPlugin、Taskごとに解析 Android Studio 4.0+ / Android Gradle Plugin

    4.0.0+
  7. Open Build Analyzer widow [View] > [Tool Windows] > [Build]

    > [Build Analyzer]
  8. Tabs [Overview/Tasks/Warnings]

  9. Tasks ビルド時間に直接影響するタスクとビルド時間を占める割合を表示する

  10. Which tasks determine build duration?

  11. Which tasks determine build duration? 時間のかかるタスクを改善する → 不要なローカライズリソース  を debug

    buildでは除外する → WebPなどで画像を最適化する
  12. Warning tab ビルド速度を遅くする原因を改善方法含めて警告する

  13. Build duration

  14. Build duration 同じプロジェクトのビルドでもキャッシュなどの要因 でビルド時間は変動するので複数のビルドを比較 する

  15. CPU Profiler

  16. CPU Profiler アプリの CPU 使用量や スレッドアクティビティを解 析するツール

  17. Open CPU Profiler

  18. Record methods CPUの使用状況を詳細に解析するた めにメソッドコールを記録する Sample Java Methods Trace Java Methods

    Sample C/C++Functions Trace System Calls
  19. Java Methods Sample Recording

  20. Select a method call 時間のかかっているメソッドコールを選択する

  21. Flame Chart 同一のコールスタックを集約し反転し たチャート 選択したメソッドコールの中で同じよう に呼び出されるメソッドまたは関数をま とめて表示する

  22. Top Down メソッドコールの合計時間 メソッドコールスタックのトレース情報を呼び出し元 から順のノードで表現したグラフ そのメソッド自体の実行にかかる時間 self メソッドまたは関数呼び出しがその呼び出し先の 実行に費やした時間 Children

  23. Bottom Up 呼び出し一覧から呼び出し元をノード で表現するグラフ 時間のかかっている呼び出しをフラット に見つけ出しやすい

  24. Record methods (Trace System Calls) メインスレッドでフレームがレン ダリングされるまでの時間と、 RenderThread UI ジャンクと低

    フレームレートの原因となるボト ルネックを調べることができる Framesで16msを超えるフレー ムは赤色で表示される
  25. Improve App performance CPUのパフォーマンスを最適 化するとバッテリーのパ フォーマンスも向上する CPUだけでなくMEMORY、 NETWORK、ENERGYも使っ てアプリ全体のパフォーマン スを最適化する

  26. Database Inspector

  27. Database Inspector

  28. Run query from the code

  29. Run query

  30. Database Inspector データベースを素早く確認して設計にフィードバック できる リポジトリをモックして値を書き換えてテストできる

  31. Build app fast with Android Studio

  32. 最新のツールを使うとアプリの性能だけでなく開発の 効率を上げるので、できるだけ開発環境も最新にアッ プデートする Build app fast with Android Studio 互換性に問題が起きる場合もあるのでこまめにアップ

    デートする Canaryも積極的に利用しレポート、フィードバックを送 る
  33. Thank you!

  34. Android Studio リリースノート | Android デベロッパー | Android Developers :

    https://developer.android.com/studio/releases Android Developer Tools - 11 Weeks of Android - YouTube : https://www.youtube.com/playlist?list=PLWz5rJ2EKKc95jeR9iSR8g_IV5TQhkaC2 Build Analyzer Android Studio プレビュー版の新機能 | Android デベロッパー | Android Developers : https://developer.android.com/studio/preview/features/#build-attribution ビルド速度を最適化する | Android デベロッパー | Android Developers : https://developer.android.com/studio/build/optimize-your-build CPU Profiler Android Studio プレビュー版の新機能 | Android デベロッパー | Android Developers : https://developer.android.com/studio/preview/features/#4.0-profiler-ui-upgrades CPU のホットスポットを特定する | Android デベロッパー | Android Developers : https://developer.android.com/games/optimize/cpu-profiler CPU Profiler を使用して CPU アクティビティを検査する | Android デベロッパー : https://developer.android.com/studio/profile/cpu-profiler App Performance Optimization with Android Profiler | EL Passion : https://www.elpassion.com/blog/speed-up-your-app-performance-with-android-profiler Troubleshooting app performance issues with System Trace in Android Studio - YouTube : https://www.youtube.com/watch?v=EjmIit_amnE Database Inspector Android Studio プレビュー版の新機能 | Android デベロッパー | Android Developers : https://developer.android.com/studio/preview/features/#database-inspector android/sunflower: A gardening app illustrating Android development best practices with Android Jetpack. : https://github.com/android/sunflower References