入手する使ってみる初めてのアプリを作成することから始めてみましょう。コースを活用して理解を深めるほか、ご自身でアプリ開発を習得することもできます。↗️デバイスごとに拡張するスマートフォン、タブレット、スマートウォッチなど、さまざまなデバイスでシームレスなエクスペリエンスをユーザーに提供するアプリを作成します。独自の規範となるガイダンスに沿って、ユースケース向けにビルドする方法を学習します。アプリ最新情報を確認する年間を通して最新リリースのお知らせをお届けします。プログラムにご参加いただき、ご意見をお寄せください。設計を今すぐ始めましょう。インターフェースをデザインします。TVアーキテクチャ堅牢かつテストと保守が容易なアプリのロジックとサービスを設計します。ストアのガイドラインに沿って、アプリの品質をプランニングします。アプリを作成できます。必要な機能のサンプルとドキュメントを入手します。使用してアプリを作成、ビルドするか、独自のパイプラインを作成します。ファクタ向けのコードを記述する。デバイスの接続とデータの共有。ドキュメントを確認します。よって翻訳されました。必要に応じて、コンテンツの保存と分類を行います。このページでは、アプリ内のメモリ使用量を事前に削減する方法について説明します。システムがメモリを管理する方法の詳細については、メモリ管理の概要をご覧ください。システムではさらに貴重になります。コレクションを定期的に実行しますが、だからと言って、アプリがメモリの割り当てと解放を行うタイミングや場所を無視してよいわけではありません。オブジェクトを解放する必要があります。使用可能なメモリとメモリ使用量を監視する修正する前に、アプリのメモリ使用量に関する問題を特定する必要があります。プロファイラを使用すると、以下の方法でメモリの問題を特定して診断できます。アプリによるメモリの割り当て方法を長期的に監視します。コレクションの実行タイミングがリアルタイムでグラフに表示されます。ヒープのスナップショットを取得します。エディタで対応するコードに移動します。メモリ管理の概要で説明されているように、重要なタスクにメモリを解放するために、必要に応じてアプリからメモリを再利用したりアプリを完全に停止したりできます。クラスに実装すると、システムメモリのバランスを細かく調整して、システムがアプリプロセスを強制終了せずに済むようにできます。メソッドが、有用なライフサイクルまたはメモリ関連のイベントをアプリに通知します。メモリの使用量を自発的に減らすことができます。コールバックを実装できます。量に基づき、デバイスごとに異なります。メモリ不足を回避するために、システムに対してクエリを実行し、現在のデバイスで使用可能なヒープスペースの量を確認できます。オブジェクトが返されます。このオブジェクトから、デバイスの現在のメモリ状態に関する情報(メモリの空き容量、メモリの合計容量、メモリの閾値(システムがプロセスの強制終了を開始するメモリレベル)など)を確認できます。これは、デバイスのメモリが不足しているかどうかを示す単純なブール値です。メソッドを使用する方法を示しています。クラス、コード構造は、他より多くのメモリを使用します。コード内でメモリ効率の高い別の方法を選択することで、アプリのメモリ使用量を最小限に抑えることができます。サービスの利用頻度を抑える必要でない場合はサービスを実行したままにしないことを強くおすすめします。アプリで起こりうるメモリ管理の最悪のミスの一つです。アプリがバックグラウンドで動作するためにサービスが必要な場合は、ジョブを実行する必要がない限り、サービスを実行したままにしないでください。タスクが完了したらサービスを停止します。しないと、メモリリークが発生する可能性があります。サービスを開始すると、システムは常にそのサービスのプロセスを実行し続けようとします。プロセスの負荷が非常に大きくなります。プロセスの数が減少し、アプリの切り替え効率が低下します。メモリの空き容量が少なく、実行中のすべてのサービスをホストするのに十分なプロセスを維持できない場合、システムでスラッシングが発生することもあります。一般に、利用可能なメモリに対する需要が継続的に要求されるため、永続的なサービスの使用は避けてください。実装することをおすすめします。プロセスをスケジュール設定する方法の詳細については、永続処理をご覧ください。デバイスでの使用には最適化されていません。オブジェクトが必要になるため、メモリ効率が低下する可能性があります。つのオブジェクトがさらに作成される)が不要になるため、効率性が向上します。必要に応じて、いつでも生の配列に切り替えて、シンプルなデータ構造にすることができます。コードの抽象化に注意する抽象化はコードの柔軟性と保守性の向上に役立つため、プログラミングに関するおすすめの方法としてよく使用されます。必要になるため、コストが大幅にかかります。抽象化によるメリットがあまりない場合は、抽象化の使用は避けてください。設計した、構造化データをシリアル化するためのメカニズムです。言語やプラットフォームに依存せず、拡張することも可能です。バッファを使用してください。サイズの大幅な増大、実行速度の低下など)が発生する可能性があります。イベントは、アプリのパフォーマンスに影響しません。イベントが発生して、バッテリーがすぐに消費され、フレームのセットアップ時間がわずかに増加することがあります。コレクションに費やす時間が多くなるほど、バッテリーの消耗が速くなります。イベントが発生する回数が増加します。メモリチャーンは実際のところ、一定時間内に割り当てられた一時オブジェクトの数を表します。ループ内で複数の一時オブジェクトが割り当てられることがあります。オブジェクトが作成されることもあります。どちらの場合も、アプリによって大容量のオブジェクトが短時間で多数作成されます。コレクションが強制的に実行されます。プロファイラを使用して、メモリチャーンがよく発生するコード内の場所を特定します。コードの問題の場所を特定したら、パフォーマンスが重要な箇所で割り当ての回数を減らしてみます。ベースの割り当て構造に移動することを検討してください。プールがユースケースに役立つかどうかを評価することもできます。インスタンスを捨てるのではなく、プールに放出します。インスタンスが必要になったときは、そのオブジェクトを割り当てるのではなく、プールから取得できます。プールが特定の状況に適しているかどうかを判断してください。プールを使用するとパフォーマンスが低下する場合もあります。プールにより割り当てが回避されますが、それ以外のオーバーヘッドが生じます。プールのメンテナンスには通常、同期という無視できないオーバーヘッドがあります。インスタンスを消去して(メモリリークを回避するため)、獲得時に初期化を行うと、オーバーヘッドがゼロにならないことがあります。コレクションの負荷も増大します。コレクションの呼び出し回数は減りますが、存続中の(到達可能な)バイト数に比例するため、呼び出しごとに必要な処理量は増加します。メモリを大量に消費するリソースとライブラリを削除するコード内の一部のリソースやライブラリが、気付かないうちにメモリを消費することがあります。アプリの全体のサイズ(サードパーティのライブラリや埋め込みリソースを含む)がアプリのメモリ使用量に影響を及ぼすこともあります。冗長なコンポーネント、不要なコンポーネント、肥大化したコンポーネント、リソース、ライブラリをコードから削除することで、アプリのメモリ消費量を改善できます。全体のサイズを小さくするアプリの全体のサイズを小さくすることで、アプリのメモリ使用量を大幅に削減できます。フレーム、サードパーティ製ライブラリはすべて、アプリのサイズに影響する可能性があります。リソースのサイズを小さくし、外部依存関係を縮小するのに役立つツールが複数用意されています。コンパイルなどの最新のコード圧縮方法をサポートしています。アプリ全体のサイズを縮小する方法については、アプリのサイズを縮小するをご覧ください。使用する依存性注入フレームワークを使用すると、記述するコードをシンプル化し、テストやその他の設定変更に役立つ適応性に優れた環境を構築できます。使用を検討してください。アプリのコードをスキャンするためにリフレクションを使用しません。静的なコンパイル時実装を使用すれば、不必要に実行時のコストやメモリを消費することはありません。リフレクションを使用するその他の依存性注入フレームワークは、アノテーションのコードをスキャンすることによってプロセスを初期化します。必要になることがあり、アプリの起動時に顕著な遅延を発生させる可能性があります。クライアントでは非効率になる可能性があります。デバイス用に最適化する必要が生じることがあります。使用量の観点からライブラリを分析します。デバイス向けの一部のライブラリでも、実装の違いによって問題が発生することがあります。バッファの実装を持つことになります。ロギング、分析、画像の読み込みフレームワーク、キャッシュ保存などでも、複数の実装が生成されることがあります。リソースを削除できます。ライブラリの大規模な内部依存関係は削除できません。これらのライブラリで使用する機能では、低レベルの依存関係が必要になる場合があります。手動で微調整する必要がある)には特に問題になります。個だけを使うために共有ライブラリを使用しないでください。使用しない大量のコードやオーバーヘッドを含めないでください。ライブラリを使用するかどうかを検討する際には、ニーズにぴったりマッチする実装を探してください。しないと、独自の実装を作成することになるかもしれません。ライセンスに記載のライセンスに従います。関連会社の商標または登録商標です。