Android Studio 4.1がリリースされ、あらゆる面で開発エクスペリエンスが向上しました

著者/ ScottSwarthout、製品マネージャー


一般的な編集、デバッグ、最適化タスクのための一連の機能を提供するAndroid Studio4.1の安定バージョンをリリースできることを非常に嬉しく思います。バージョン4.1の主な魅力の1つは、Android Jetpackライブラリ(つまり、Androidの開発ライブラリスイート)を使用するときに、ベストプラクティスに従い、コード作成の効率を向上させることです。フィードバックに基づいて、一般的に使用される多くのAndroidライブラリをIDEに直接統合して、コード作成のエクスペリエンスを向上させました。

  • Android Studio 4.1

    https://developer.android.google.cn/studio

  • Android Jetpack

    https://developer.android.google.cn/jetpack

Android Studio 4.1のハイライトの一部は次のとおりです。アプリケーションのデータベースをクエリするための新しいデータベースインスペクターの導入、依存関係の挿入にDaggerまたはHiltを使用するプロジェクトの閲覧のサポート、AndroidプロジェクトでのTensorFlow Liteモデルの使用のサポート。これにより、デバイス側がさらに強化されます。機械学習のサポート。また、展開を高速化するために[変更の適用]を更新しました。私たちはあなたのフィードバックに基づいていくつかの変更を加え、ゲーム開発者を支援するために新しいネイティブメモリパフォーマンスアナライザーと独立した分析ツールを導入しました。

  • https://developer.android.google.cn/training/dependency-injection/hilt-android

製品の品質は依然としてチームの主な焦点であり、エラーとパフォーマンスの問題を解決するために懸命に取り組んできました。あなたのフィードバックから、多くの開発者は、パフォーマンスと信頼性の向上に焦点を当てていることに同意しています。このリリースサイクルで、2,370のバグを修正し、275の公開問題を解決したことをお知らせします。高品質は、開発者の効率を向上させるための鍵であることがわかっているため、一貫した目標です。

多くのユーザーがプレビューで早い段階でフィードバックを提供してくれました。ありがとうございました。Android Studio 4.1の機能を繰り返して改善できるのは、あなたのフィードバックによるものです。作業効率を向上させるための一連の新機能を備えたこの新しい安定バージョンを使用する準備ができている場合は、ここからダウンロードして使用を開始できます。

  • Android Studio4.1をダウンロードする

    https://developer.android.google.cn/studio

Android Studio 4.1のすべての新機能は、主要な開発プロセスに従って以下にリストされています。

  • Android Studio4.1の新機能

    https://youtu.be/Yhbr6u7f3ME

設計

マテリアルデザインコンポーネントの更新

現在、[新しいプロジェクト]ダイアログボックスのAndroid Studioテンプレートは、マテリアルデザインコンポーネント(MDC)を使用し、デフォルトで最新バージョンのテーマとスタイルデザインガイドラインをサポートしています。このようにして、開発者は推奨されるマテリアルスタイルモードをより簡単に使用し、最新のインターフェイス機能(暗いテーマなど)をサポートできます。

△プロジェクトテンプレートのマテリアルデザインコンポーネントの更新

アップデートには以下が含まれます。

  • MDC:プロジェクトはbuild.gradleでcom.google.android.material:materialを使用します。基本的なアプリケーションテーマは、Theme.MaterialComponents。*親を使用し、更新されたMDCカラーと「on」属性をオーバーライドします。

  • カラーリソース:colors.xmlのカラーリソースにリテラル名を使用します(たとえば、colorPrimaryの代わりにpurple_500を使用します)。

  • テーマリソース:テーマリソースは(styles.xmlではなく)themes.xmlにあり、Theme。<ApplicationName>という名前を使用します。

  • ダークテーマ:基本的なアプリケーションテーマはDayNight親を使用し、res / valuesとres / values-nightに分けられます。

  • テーマ属性:レイアウトとスタイルでは、色のハードコーディングを避けるために、カラーリソースはテーマ属性(たとえば、attr / colorPrimary)と呼ばれます。

開発

データベースインスペクター

新しいデータベースインスペクターを使用して、アプリケーションデータベースの検査、クエリ、および変更操作を簡素化したいと考えています。まず、API 26以降を実行しているデバイスにアプリケーションをデプロイしてから、メニューから[表示]> [ツールウィンドウ]> [データベースインスペクター]を選択しますアプリケーションがJetpackRoom開発ライブラリを直接使用するかSQLiteのAndroidプラットフォームバージョンを使用するかに関係なく、実行中のアプリケーションのデータベースとテーブルを簡単に確認したり、カスタムクエリを実行したりできるようになりました。

Android Studioは、アプリケーションを検査するときにリアルタイム接続を維持するため、データベースインスペクターを使用して値を変更し、実行中のアプリケーションで結果を表示することもできます。Room永続ライブラリを使用する場合、Android Studioは、コードエディタの各クエリの横に実行ボタンも挿入して、@ Queryアノテーションで定義されたクエリをすばやく実行できるようにします。詳細については、公式ドキュメントを読むことができます。

  • ドキュメント:データベースインスペクターを使用してデータベースをデバッグする

    https://developer.android.google.cn/studio/inspect/database

△データベースインスペクターを使用して、アプリケーションデータベースを検査、照会、および変更します

AndroidStudioでAndroidエミュレーターを直接実行する

これで、AndroidエミュレータをAndroidStudioで直接実行できます。この機能は、画面スペースの節約に役立ちます。ホットキーを使用して、シミュレーターウィンドウとエディターウィンドウ間をすばやく移動し、IDEとシミュレーターのワークフローを1つのアプリケーションウィンドウに整理できます。Studioでスナップショット、回転、スクリーンショットなどの一般的なエミュレーター操作を管理できますが、すべてのオプションを使用するには、安定したエミュレーターを使用する必要があります。あなたはこのメニューのパスに従うことによって、この機能を有効にすることができますファイル]→[設定]→[ツール]→エミュレータツールウィンドウで起動します

△AndroidStudioでAndroidEmulatorを実行する

ダガーナビゲーションのサポート

Daggerは、Androidで一般的に使用される依存関係インジェクションライブラリです。Android Studioは、新しいガター操作を提供し、[使用状況の検索]ウィンドウのサポートを拡張して、Dagger関連のコード間を簡単に移動できるようにします。たとえば、特定のタイプ使用するメソッドの横にあるガターアクションをクリックすると、 そのタイプが使用可能な場所に移動します。逆に、  ガターアクションをクリックすると、タイプが依存関係として使用されている場所に移動します。Android Studioは、JetpackHiltライブラリを使用して定義された依存関係のナビゲーション操作もサポートしています。詳細については、公式ドキュメントを読むことができます。

  • 短剣

    https://developer.android.google.cn/training/dependency-injection/dagger-basics

  • https://developer.android.google.cn/training/dependency-injection/hilt-android

  • ドキュメント:短剣ナビゲーションのサポート

    https://developer.android.google.cn/studio/releases#dagger-navigation

△ガター操作を使用して、短剣関連コード間を移動します

TensorFlowLiteモデルを使用する

現在、Android開発者は、機械学習を使用して斬新で実用的なエクスペリエンスを作成しています。TensorFlow Liteは、モバイルマシン学習モデルを作成するための一般的な開発ライブラリです。これらのモデルをAndroidアプリケーションにインポートするプロセスを簡素化したいと考えています。ビューバインディングと同様に、Android Studioは使いやすいクラスを生成して、モデルの実行に必要なコードを合理化し、型の安全性を向上させます。ML Model Bindingの現在の実装は、メタデータによって拡張されている場合、画像分類とスタイル転送モデルをサポートしています。

  • 実用的なイノベーションの経験

    https://developer.android.google.cn/helpful-innovation

  • TensorFlow Lite

    https://www.tensorflow.org/lite

インポートされたモデルの詳細とアプリケーションでの使用方法を表示するには、プロジェクト内の.tfliteモデルファイルをダブルクリックして、モデルビューアページを開きます。詳細については、公式ドキュメントを読むことができます。

  • ドキュメント:TensorFlowLiteモデルの使用

    https://developer.android.google.cn/studio/write/mlmodelbinding

△AndroidStudio4.1でTensorFlowLiteモデルのメタデータを表示する

ビルドとテスト

Androidエミュレーター-折りたたみ式デバイスのヒンジ情報のサポート

Android Studio

最近追加された5Gモバイルネットワークテスト機能に加えて、Androidエミュレーターでの折りたたみ式デバイスのサポートも追加しました。Androidエミュレーター30.0.26以降では、複数の折りたたみデザインと構成を使用して、折りたたみ可能なデバイスをセットアップできます。設定後、シミュレーターはヒンジ角度センサーと姿勢変化情報を提供します。これは、これらのモデルの応答をテストするのに便利です。詳細については、ブログ投稿「Android11でAndroidエミュレータを使用して開発する」を参照してください。

  • 5Gのエミュレーターサポート

    https://developer.android.google.cn/about/versions/11/behavior-changes-all#emulator-5g

  • Androidエミュレータを使用してAndroid11で開発する

    https://medium.com/androiddevelopers/developing-for-android-11-with-the-android-emulator-a9486af2d7ef

変更の更新を適用

より高速なビルドは、開発者がアプリケーションをより簡単かつ迅速に変更するのに役立ちます。アプリケーションの反復の効率を向上させるために、Android11以降のデバイスで変更を適用するためのいくつかの機能拡張を行いました。

反復速度の最適化に多額の投資を行い、アプリをインストールせずにデバイスに変更を展開して保存する方法を開発しました。これで、最初の展開が完了した後、[コード変更の適用]または[変更の適用と再起動アクティビティ]を介したAndroid11デバイスへの後続の展開の速度が大幅に向上します。また、[変更の適用]で他のコード変更のサポートを追加しました。これで、メソッドを追加した後、[コード変更の適用]または[変更の適用とアクティビティの再開]ボタンをクリックして、これらの変更を実行中のアプリケーションに展開できます。

  • 構造化されたクラスの再定義と変更の適用

    https://medium.com/androiddevelopers/structural-class-redefinition-and-apply-changes-30f96f1962e6

AARからC / C ++の依存関係をエクスポートする

Android Gradleプラグイン4.0は、AAR依存関係にプレハブパッケージをインポートする機能を追加します。この機能を拡張して、ネイティブライブラリを共有したいと考えています。AGP 4.1は、AndroidライブラリプロジェクトのAARにある外部ネイティブビルドからのライブラリのエクスポートをサポートしています。ネイティブライブラリをエクスポートするには、ライブラリプロジェクトのbuild.gradleファイルのandroidブロックに以下を追加します。

  • ネイティブの依存関係を使用する

    https://developer.android.google.cn/studio/build/native-dependencies

buildFeatures {
    prefabPublishing true
}


prefab {
    mylibrary {
        headers "src/main/cpp/mylibrary/include"
    }


    myotherlibrary {
        headers "src/main/cpp/myotherlibrary/include"
    }
}

ネイティブコードクラッシュレポートシンボリック分析

ネイティブコードがクラッシュするか、ANRが発生すると、システムはスタックトレースを生成します。これは、プログラムがクラッシュする前に呼び出されたネストされた関数のシーケンスのスナップショットです。これらのスナップショットは、ソースコードの問題を特定して修正するのに役立ちますが、コンピューターのアドレスを人間が読み取れる関数名に戻すには、最初にシンボル化する必要があります。

アプリケーションまたはゲームがC ++などのネイティブコードを使用して開発されている場合、アプリケーションの各バージョンのデバッグシンボルファイルをPlay ManagementCenterにアップロードできるようになりました。Play Management Centerは、これらのデバッグシンボルファイルを使用してアプリケーションのスタックトレースをシンボル化し、クラッシュとANR分析を簡素化します。App Bundleにデバッグシンボルを含める場合は、プロジェクトのbuild.gradleファイルに以下を追加してください。

android.buildTypes.release.ndk.debugSymbolLevel = 'SYMBOL_TABLE'

最適化

システムトレースインターフェイスの改善

Android Studio 4.1では、アプリケーションによるシステムリソースの使用をリアルタイムで理解できる最適化ツールであるSystemTraceを包括的に改善しました。フレーム選択モードでは、トレースレコードの選択も簡単になります。さらに、アプリケーションインターフェイスでのレンダリングの問題を調査するのに役立つ、新しい分析タブとフレームレンダリングデータが追加されました。詳細については、公式ドキュメントを読むことができます。

  • システムトレース

    https://developer.android.google.cn/topic/performance/tracing

  • ドキュメント:Android Studio System Trance Update

    https://medium.com/androiddevelopers/whats-new-in-android-studio-system-trace-5841465c5935

フレームの選択:[スレッド]セクションで、マウスをドラッグして長方形の領域をフレーム化し、右上隅にある[選択にズーム]ボタンをクリックして(またはキーボードのショートカットMを使用して)領域を拡大できるようになりました。類似のスレッドを一緒にドラッグアンドドロップした後、複数のスレッド間でボックス選択して、すべてのスレッドを同時にチェックできます。

△フレーム選択モードを使用すると、追跡レコードをより簡単に選択できます

[概要]タブ:[分析]パネルの新しい[概要]タブには、次の情報が表示されます。

  • インスタンス数や最小/最大期間など、特定のイベントのすべてのインスタンスの要約統計。

  • 選択したインスタンスの追跡イベント統計。

  • スレッド状態の分布に関するデータ。

  • 選択したトレースイベント内で最も長く実行されているインスタンス。

△[概要]タブで概要統計を表示する

データの表示:[表示]セクションのSurfaceFlingerとVSYNCの新しいタイムラインは、アプリケーションインターフェイスのレンダリングの問題を調査するのに役立ちます。

  • SurfaceFlinge

    https://source.android.google.cn/devices/graphics/surfaceflinger-windowmanager

  • VSYNC

    https://source.android.google.cn/devices/graphics/implement-vsync

スタンドアロンアナライザー

Android Studio Analyzerは、AndroidStudioのメインウィンドウとは別のウィンドウでアクセスできるようになりました。この機能は、UnityやVisualStudioなどの他のツールで構築されたAndroidゲームを最適化するときに非常に役立ちます。

スタンドアロンアナライザーを実行するには:

1.システムがAndroidStudioでアナライザーを実行していないことを確認します。

2.インストールディレクトリに移動し、binディレクトリに移動します。

Windows / Linux: 

    <studio-installation-folder> \ bin

macOS: 

    <studio-installation-folder> / Contents / bin

3.オペレーティングシステムに応じて、profiler.exeまたはprofiler.shを実行します

スタンドアロンアナライザーは、AndroidEmulatorまたはその他の接続されたデバイスに接続できます。

△独立したAndroidStudioアナライザーを使用してアプリケーションを最適化する

ネイティブメモリパフォーマンスアナライザ

ネイティブメモリの使用状況を追跡することは、ゲーム開発者やC ++を使用する他の開発者にとって非常に重要であるため、アプリケーションのメモリ使用量を最適化できます。Android Studioメモリプロファイラー(Memory Profiler)には、特にAndroid10以降の物理デバイスで実行されているアプリケーション用のネイティブメモリプロファイラー(Native Memory Profiler)が含まれるようになりました。ネイティブメモリパフォーマンスアナライザは、特定の期間内にネイティブコード内のオブジェクトの割り当て/破棄を追跡し、全体的なメモリ割り当てとシステムヒープの残りのサイズに関する情報を提供できます。

記録を開始するには、[メモリプロファイラ]ウィンドウの上部にある[ネイティブ割り当ての記録]をクリックします

△ネイティブメモリパフォーマンスプロファイラを使用して、ネイティブメモリの割り当てを表示する

総括する

簡単に確認すると、Android Studio 4.1には、次の新機能と改善された機能が含まれています。

設計

  • マテリアルデザインコンポーネントの更新

開発

  • データベースインスペクター

  • AndroidStudioでAndroidエミュレーターを直接実行する

  • ダガーナビゲーションのサポート

  • TensorFlowLiteモデルを使用する

ビルドとテスト

  • Androidエミュレーター-折りたたみ式デバイスのヒンジ情報のサポート

  • 変更の更新を適用

  • AARからC / C ++の依存関係をエクスポートする

  • ネイティブコードクラッシュレポートシンボリック分析

最適化

  • システムトレースインターフェイスの改善

  • スタンドアロンアナライザー

  • ネイティブメモリパフォーマンスアナライザ

*この記事の情報は、Unity Technologiesまたはその関連会社が後援したり、関連したりするものではありません。「Unity」は、UnityTechnologiesまたはその関連会社の米国およびその他の地域における商標または登録商標です。


推奨読書




 最後の画面をクリックします元の記事を読みます | Android11開発者サイトにアクセスします  


おすすめ

転載: blog.csdn.net/jILRvRTrc/article/details/109233499