HERE SDK の最適化
この 最適化ガイド では、 HERE SDK のサイズを縮小し、ロードまたは処理する必要のあるデータを削減してランタイムの動作を最適化するためのオプションをいくつか示します。
フィーチャー設定を使用します
機能設定を使用 すると、MapView
をパンするとき、またはオフラインで使用するために新しいRegion
をダウンロードするときに、マップ データ をロードする量を指定できます。 たとえば、ターン・バイ・ターンナビ (矢印ナビ) などの機能がアプリケーションで使用されていない場合は、削除できます。
その結果、MapView
をパンすると、キャッシュにダウンロードされるデータ量が少なくなります。 さらに、新しいRegion
をダウンロードすると、サイズが小さくなります。
PList
ファイルに "FeatureConfiguration" が含ま れている場合、一覧表示されている機能のみが有効になり、それ以外の機能はすべて無効になります。 1 つの機能のみを無効にする場合は、他のすべての機能を有効にするか、または無効にする必要があります。
たとえば、次の例では 、ナビゲーション 機能とトラック機能のみが有効になり、その他の機能はすべて無効になります。
<key>FeatureConfiguration</key>
<array>
<string>NAVIGATION</string>
<string>TRUCK</string>
</array>
現在、次の機能を指定できます。
- "detail_rending" : 建物などの追加のレンダリングの詳細。 にのみ使用
MapView
されます。 設定されていない場合、オフラインのリージョンをダウンロードするとき、またはそのようなデータが含まれているエリアをプリフェッチするときに、データが除外されます。 ただし、オンラインでの使用中には、このようなデータがキャッシュにダウンロードされて表示されることがあります。 - " ナビゲーション " : ナビゲーション中のマップマッチングに使用されるマップ データ 。 設定されていない場合、オンラインまたはオフラインで使用しているときにナビゲーションが正しく動作しないことがあります。
- "offline_search" : 検索に使用されるマップ データ 。 設定されていない場合
OfflineSearchEngine
、を使用するとが正しく動作しないことがあります。 - "offline_routing" : ルートの計算に使用されるマップ データ 。 設定されていない場合
OfflineRoutingEngine
、を使用するとが正しく動作しないことがあります。 - " トラック " : トラックルートの計算に使用されるマップ データ 。 設定しない
OfflineRoutingEngine
と、を使用してトラックルートを計算するときにが正しく動作しないことがあります。 トラックナビゲーション中の地図の一致にも使用されます。 設定しないと、オフラインで使用しているときにトラックナビゲーションが正しく動作しないことがあります。 オンライントラックナビゲーションは、デバイスがオンライン接続されている場合でも機能します。 - "landmarks_3d" : テクスチャ付き 3D ランドマークのレンダリングに使用されるマップ データ 。 設定されていない場合、オフラインのリージョンをダウンロードするとき、またはそのようなデータが含まれているエリアをプリフェッチするときに、データが除外されます。
landmarks
でレイヤーが表示されるように設定 MapScene
されている場合、オンライン使用中も 3D ランドマークが表示されます。 - "Junction _view_3x4" 、 "Junction _view_16x9" : 複雑な交差点に適した 3D ビジュアル。 このアセットデータは、ガイダンス中に SVG 画像を表示するために使用できます。 有効にする
JunctionViewWarning
と、ダウンロードされたリージョンに、対応するイベントで使用される交差点表示イメージが含まれます。 これは、旅程を開始する前にアセットをダウンロードする場合に役立ちます。 有効になっていない場合、必要なデータが必要なときにダウンロードされます。 各イメージは最大 15 MB を使用できます。 HERE SDK の今後のリリースでは、リアルさのレベルを下げることでサイズが最適化されることに注意してください。 デフォルトでは、レイヤーは有効になっていません。 - "Junction _ SIGN_3x4" 、 "Junction _ SIGN_16x9" : 署名者のビジュアル。 このアセットデータは、ガイダンス中に SVG 画像を表示するために使用できます。 有効にする
SignpostWarning
と、ダウンロードされたリージョンに、対応するイベントで使用される交差点表示イメージが含まれます。 有効になっていない場合、必要なデータが必要なときにダウンロードされます。 各イメージは最大 300 KB を使用できます。 有効になっていない場合、必要なデータが必要なときにダウンロードされます。 デフォルトでは、レイヤーは有効になっていません。 - " レンダリング中 " : Carto POI などの基本的なレンダリング機能のセット。
- " 交通状況 " : RDS-TMC 形式を使用してトラフィックブロードキャスト機能を提供するマップ データ 。 インターネット接続がない場合に使用し
OfflineRoutingEngine
て、ルーティングモジュールが無線チャネル経由で送信されるトラフィックデータを利用して、を使用してルートを作成できるようにします。 - "EV" : EV 充電ステーションのオフライン マップ データ。
- "TRACK_SERVICE_ATTRIBUTES" : トラックに関連する属性をから戻すことができます
OfflineSearchEngine
。 - "FUEL_STATUS_ATTRIBUTES" : によって燃料属性が返されるようにし
OfflineSearchEngine
ます。 - "offline_bus_routing" : バスルートの計算に使用されるマップ データ 。 設定されていない場合、
OfflineRoutingEngine
は BusOptions
でルートを計算できないことがあります。
"offline_search" 、 "offline_routing" 、 "cart" 、 "navigation" 、 "rending" 、 "detail_rendering" 、 "traffic" がデフォルトで有効になっています。 他のすべてのレイヤーは、デフォルトで無効になっています。 「レンダリング」レイヤーはベースレイヤーであり、無効にすることはできません。
注 : "DETAILRENDERING"機能は、 _ ヘッドレスエディションには該当しません。
フィーチャーの設定は、次のアプリケーションアップデートのインストール後に mapUpdater.performFeatureUpdate()
を呼び出して更新でき ます。PList
ファイル内のフィーチャーの設定が更新されたら、このメソッドを呼び出します。
その結果、キャッシュされたマップ データ が削除され、その後更新されます。 また、ダウンロードしたリージョンが更新され、変更内容が反映されます。
アップデートをいつ実行するかは開発者の責任で決定してください。 HERE SDK は、このような更新がいつ行われるかを決定または通知しません。 performFeatureUpdate()
の呼び出しは、アプリケーションが更新された後で 1 回のみ必要です。 開発者がフィーチャーの設定を変更していない場合は、この関数を呼び出す必要はありません。
注
SearchEngine
や RoutingEngine
などのエンジン では、キャッシュされた、またはダウンロードされたマップ データは使用されません。 関連するフィーチャーが無効になっていない場合、OfflineSearchEngine
および OFflineRoutingEngine
のみがこのようなデータを使用します。 たとえば、アプリがオンラインで完全に動作することが確実な場合は、オフライン検索フィーチャーを無効にしても安全です。 ただし、一時的に接続が失われたときにアプリ が POI を検索できるようにする 場合は、そのような失われた POI を検出したときににOfflineSearchEngine
に切り替えることができます。そのため、関連するフィーチャーを無効にしないでください。
上記のように、一部の無効化された機能については、デバイスがオンライン接続され、機能が必要な場合に、デバイスが対応するデータをダウンロードすることがあります。 たとえば、「 landmarks_3d 」機能が無効になっているが、対応する MapScene
レイヤーが有効になっている場合 、デバイスは、ビューポイント MapView
で 3D ランドマークが表示されたときに、必要なテクスチャをダウンロードして 3D ランドマークをレンダリングします。
「 offline_search 」と「 offline_routing 」を除く、上記のすべての一覧表の機能について、 HERE SDK はまず必要なデータがキャッシュで利用可能かどうかを確認します。 オフライン Region
で使用するためにダウンロードされたがあるかどうかが確認されます。 見つからない場合、 HERE SDK は必要なデータをワイヤレスでダウンロードしようとします。 "offline_search" と "offline_routing" の場合、動作は同じですが、 AIR 経由ではデータは要求されません。
未使用の音声を削除
未使用の音声ガイダンスファイルを削除することで、 HERE SDK のサイズを削減できます。
これらのファイルは、テキスト / スピーチボイスメッセージでターン・バイ・ターンナビ (矢印ナビ) を使用する場合にのみ必要です。
未使用のファイルを削除するには、次の操作を行います。
heresdk.framework
の内部でフォルダios-arm64/voice_assets
を開き、不要な音声パッケージを削除します。
ここで サポートされているすべての音声言語のリストと、 HERE SDK フレームワーク内に保存されている関連する音声スキンの名前を見つけることができます。
未使用のフォントの削除
未使用のフォントを削除することで、 HERE SDK のサイズを削減できます。 これについては、 ここで説明します。
ファットバイナリ
HERE SDKのバイナリサイズを配布用に最適化する方法の詳細については 、こちらをご覧ください。
その他のオプション
HERE SDK の最適化-その他のオプションは次のとおりです。
さらに、すべてのエンジンには、フィーチャーの設定方法を許可するいくつかのオプションが含まれています。 たとえば、SearchEngine
を使用する場合、SearchOptions
を指定して、返される検索結果を制限できます。