Android 向けの開発(Go バージョン)

Android(Go バージョン)デバイスで使用するアプリを作成する際には、パフォーマンスの最適化とリソース使用量に特別な注意が必要です。Android(Go バージョン)向けの開発では、主なコンポーネントである、オペレーティング システム(OS)と Google Play ストアの 2 つを理解する必要があります。

オペレーティング システムの互換性

Android(Go バージョン)向けの開発では、OS 認識型アプリを開発することが非常に重要です。OS 認識型とは、アプリが Android(Go バージョン)ユーザーを検出して適応できることを意味します。たとえば、isLowRamDevice() フラグを使用すると、メモリの少ないデバイスで実行されているかどうかを検出し、それに応じた動作を行うことができます。

ユーザーの OS を把握することで、他のアプリに重ねて描画することやマルチディスプレイを使用することなど、Go デバイスで利用できない機能を制限できます。Go でのアプリ制限の全一覧については、Android との違いをご覧ください。

起動後の RAM の重要性

システムや Play ストアのアプリから、プロセスやタスクをバックグラウンドで永続的に実行できる場合があります。たとえば、デバイスが再起動したときには、ユーザーのデバイスで実行される多くのサービスやアプリからの要件となっている場合がある BOOT_COMPLETED ブロードキャストが発生します。この永続的なブロードキャストにより、デバイスのメモリが少ないことが原因で、アプリが起動しない、またはフォアグラウンド タスクがエラーになる可能性があります。

ユーザーのデバイスのすべてのアプリが、使用できるメモリ量に直接影響します。こうしたアプリがブロードキャストまたはサービスを開始する場合、ユーザーのデバイスで起動後に使用できるシステムメモリの量がエンドユーザーのエクスペリエンスに直接影響を与えるため、Android(Go バージョン)アプリがそれを照会することが必須となります。

デベロッパーの選択肢

デベロッパーがアプリに関する決定を行う際には、Android(Go バージョン)の制限を踏まえ、アプリが動作するようにする必要があります。場合によっては、ユーザーが特定の機能を無効できるようにするだけでは不十分です。アプリによっては、そのような機能が正常な動作に必要な場合もあります。Android(Go バージョン)の一般的な制限事項については、Android との違いをご覧ください。

Google Play ストア

Google Play ストアの外観、使用感、動作は、Android(Go バージョン)と Android で変わりません。ただし、Go デバイスでは、Android(Go バージョン)に最適化されたアプリが Play ストアのおすすめに表示される場合があります。