HERE SDK の最適化

この 最適化ガイド では、 HERE SDK のサイズを縮小し、ロードまたは処理する必要のあるデータを削減してランタイムの動作を最適化するためのオプションをいくつか示します。

一覧表示されている各フィーチャーは、 1 つ以上の OCM レイヤーグループに関連しています。 OCM レイヤーグループの名前は、 API リファレンス のフィーチャーごとに確認できます。 ただし、ほとんどのユースケースの場合、関連する OCM レイヤー名を知っていても関連ありません。

さらに、 HERE SDK エディションで現在使用するのに適していない 2 つのレイヤーADASEHORIZON(電子ホライズン)があります。これらのレイヤーは現在は無視してかまいません。 デフォルトでは、これらはすでに無効になっています。

フィーチャーが無効になっている場合、そのフィーチャーに必要なデータがキャッシュ内のスペースまたはダウンロードRegion の一部 としては使用されません。 また、フィーチャーをオフラインで使用することはできません。 また、OFFLINE_SEARCHが無効になっているのにOfflineSearchEngineを使おうとした場合など、エラーが発生することもあります。詳細については、以下を参照してください。

SearchEngineRoutingEngine などのエンジン では、キャッシュされた、またはダウンロードされたマップ データは使用されません。 関連するフィーチャーが無効になっていない場合、OfflineSearchEngine および OfflineRoutingEngine のみがこのようなデータを使用します。 たとえば、アプリがオンラインで完全に動作することが確実な場合は、オフライン検索フィーチャーを無効にしても安全です。 ただし、一時的に接続が失われたときにアプリ が POI を検索できるようにする 場合は、そのような失われた POI を検出したときににOfflineSearchEngine に切り替えることができます。そのため、関連するフィーチャーを無効にしないでください。

上記のように、一部の無効化された機能については、デバイスがオンライン接続され、機能が必要な場合に、デバイスが対応するデータをダウンロードすることがあります。 たとえば、「 landmarks_3d 」機能が無効になっているが、対応する MapScene レイヤーが有効になっている場合 、デバイスは、ビューポイント MapView で 3D ランドマークが表示されたときに、必要なテクスチャをダウンロードして 3D ランドマークをレンダリングします。

上記のすべてのフィーチャについて、 OFFLINE_SEARCH およびOFFLINE_ROUTINGを除き、 HERE SDK はまず、必要なデータがキャッシュで利用可能かどうかを確認します。 オフラインで使用するためにダウンロードされたRegion があるかどうかが確認されます。 見つからない場合、 HERE SDK は必要なデータをワイヤレスでダウンロードしようとします。 OFFLINE_SEARCHOFFLINE_ROUTINGの動作は同じですが、ワイヤレスではデータは要求されません。

機能設定を更新

フィーチャーの設定は、次のアプリケーションアップデートのインストール後に mapUpdater.performFeatureUpdate()を呼び出して更新でき ます。AndroidManifest ファイル内のフィーチャーの設定が更新されたら、このメソッドを呼び出します。

その結果、キャッシュされたマップ データ が削除され、その後更新されます。 また、ダウンロードしたリージョンが更新され、変更内容が反映されます。

アップデートをいつ実行するかは開発者の責任で決定してください。 HERE SDK は、このような更新がいつ行われるかを決定または通知しません。 performFeatureUpdate() の呼び出しは、アプリケーションが更新された後で 1 回のみ必要です。 開発者がフィーチャーの設定を変更していない場合は、この関数を呼び出す必要はありません

未使用の音声を削除

未使用の音声ガイダンスファイルを削除することで、 HERE SDK のサイズを削減できます。

これらのファイルは、テキスト / スピーチボイスメッセージでターン・バイ・ターンナビ (矢印ナビ) を使用する場合にのみ必要です。

未使用のファイルを削除するには、次の操作を行います。

  1. HERE SDK フレームワークを展開し 、フォルダassets/voice_assetsを検索
  2. フレームワークのサイズを縮小する場合は、不要な音声パッケージを削除
  3. Android Studio を使用して AAR を再アーカイブ

ここで サポートされているすべての音声言語のリストと、 HERE SDK フレームワーク内に保存されている関連する音声スキンの名前を見つけることができます。

未使用のフォントを削除

未使用のフォントを削除することで、 HERE SDK のサイズを削減できます。 これについては、 ここで説明します。

ABI 分割

サイズ管理 : ABI 分割を使用すると、 HERE SDK AAR バイナリファイルのサイズを削減できます。 その結果、アプリケーションが使用するデバイスのストレージ容量が少なくなります。

デフォルトでは、 HERE SDK for Android には次のABIが含まれています。armeabi-v7a、 ( arm64-v8a 主にデバイスに使用 ) 、および x86( x86_64 主にエミュレータに使用 ) 。 ABI 分割を有効にして、アプリ を構築 できます ( 例 : armeabi-v7aアーキテクチャまたはarm64-v8aアーキテクチャのみ ) 。

これを行うには、アプリ build.gradle のファイルを変更します。

android {
  (...)
  splits {
    abi {
      enable true
      reset()
      include 'x86_64', 'arm64-v8a' // Choose what you need.
      universalApk false
    }
  }
  (...)
}

./gradlew assembleRelease コマンド ライン から実行すると、次の 2 つの APK が生成されます。 app-x86_64-release.apk および app-arm64-v8a-release.apk。 各 APK には必要な ABI のみが含まれているため、サイズは大幅に小さくなります。 splits ブロックをuniversalApk trueに設定変更すると 、すべてのABIを含むユニバーサル APK も生成されますが、これは明らかにはるかに大きくなります。

splits Gradle ブロックの詳細について は、「 ABI 用に複数の APK を設定する」を参照してください。

デフォルトでは、HERE SDK for releaseでビルドされたAPKは、アプリの機能に応じて103 MB以上になります。 そのため、Playストアでアプリをリリースするには、ABIスプリットまたは Android App Bundles(AAB)のいずれかを使用する必要があります。 現時点では、PlayストアはAPKを100 MBに制限しており、ABBの制限は150 MBに制限されています。 選択したアーキテクチャのABIスプリットを介して構築された複数のAPKを維持したくない場合は、代わりにABBを使用することを検討してください。

その他のオプション

HERE SDK の最適化-その他のオプションは次のとおりです。

さらに、すべてのエンジンには、フィーチャーの設定方法を許可するいくつかのオプションが含まれています。 たとえば、SearchEngine を使用する場合、SearchOptionsを指定して、返される検索結果を制限できます。

」に一致する結果は 件です

    」に一致する結果はありません