APLテンプレートのパフォーマンスを最適化する


APLテンプレートのパフォーマンスを最適化する

前のトピックでは、画面付きのAlexa搭載デバイスでAPLドキュメントのレンダリングにかかる時間を短縮するために、効率的なAPLテンプレートデザインを作成する方法について説明しました。パフォーマンスが低いAPLテンプレートでは、レイテンシーや視覚応答時間が長くなり、APLエクスペリエンスの魅力や使いやすさが低下することがあります。これは最終的に、APLエクスペリエンスの全体的な質とスキルの成功に影響する可能性があります。Amazonは、APLドキュメントのレイテンシーを低減するための一連のベストプラクティスを提供しています。このセクションでは、これについて詳しく説明し、テンプレートのパフォーマンスを最適化する方法を示します。

APLアーキテクチャとテンプレートデザインに影響する決定を行う場合は常に、パフォーマンスへの影響を考慮してください。非効率的なデザインのAPLテンプレートがいつどのようにレイテンシーの一因となるかを理解するには、APLドキュメントのレンダリングのパフォーマンスを最適化するを参照してください。高品質なエクスペリエンスを提供するには、常にパフォーマンスを重要な要素として扱う必要があります。多くの場合、パフォーマンスはAPLテンプレートの品質に関連するその他の側面と競合します。

APLテンプレートデザインの品質に関連する5つの側面
  • 非効率的なテンプレートデザインでは、必要以上のAPLコンポーネントがインフレートされて画面にレンダリングされるため、パフォーマンスが低下する可能性があります。テンプレートのリソース効率とデザイン効率を向上させる方法の詳細については、APLテンプレートのデザインを最適化するを参照してください。
  • 汎用性の高いテンプレートとは、多くの場合、より複雑なAPLテンプレートであることを意味します。このようなテンプレートは、「オールインワン」のAPLテンプレートアプローチを採用することで応答性とローカライゼーションを実現します。このアプローチでは、APLパッケージのインポートが大量になることが多く、それらのパッケージをダウンロードして解析するときに要求されるネットワークリソースとデバイスリソースも多くなります。
  • 大量のアニメーション、対話型のUI要素、その他のダイナミクスなど、多数の機能を1つのテンプレートにまとめれば、ユーザーエクスペリエンスは向上する可能性があります。その反面、豊富な機能を提供するエクスペリエンスでは、画面にエクスペリエンスをレンダリングして円滑に実行するために、デバイス上のリソースがより多く必要になります。

APLエクスペリエンスは、必ずさまざまなデバイスでテストしてください。特に、ハードウェア性能の低いデバイスでテストすることが重要です。

APLテンプレートでのコンポーネントの使用を最適化する

次の一覧は、APLドキュメントのレイテンシーを短縮するドキュメントのページで既に説明したベストプラクティスを補足するものです。

  • APLテンプレートのドキュメントのversionには、常に最新のAPLバージョンを設定します。APLテンプレートに以前のAPLバージョン番号が設定されている場合、新しいAPLバージョンで提供される追加機能と組み込みのパフォーマンス強化機能はテンプレートからオプトアウトされます。
  • APL Textコンポーネントは可能な限り再利用して、重複するTextコンポーネントをテンプレートに追加しないようにします。Textコンポーネントを再利用するには、データバインディングやAPL SetValueコマンドを使用して値を動的に変更します。textプロパティでのマークアップのサポートも、Textコンポーネントをマージして削減するために役立ちます。
  • APLテンプレートのデザインはすっきりと簡潔に保ち、APLコンポーネントを不必要または過度に使用しないようにします。テンプレートデザインを効率化し、再利用性の向上に向けてデザインを最適化するためのベストプラクティスについては、APLテンプレートのデザインを最適化するを参照してください。
  • データソースからリスト項目を取得する動的な項目のSequenceGridSequenceScrollViewをレンダリングする場合は、リストのサイズに注意が必要です。1つのリスト項目を視覚化するためにレンダリングされるAPLコンポーネントの数は何倍にもなるためです。動的リストデータソースを使用することを検討し、APLテンプレートが画面にレンダリングされるときにスキルから返されるリストの初期項目数を減らしてください。

ユーザーに認識されるレイテンシーを低減する

画面のレンダリングにかかる時間をそれ以上短縮する技術的な方法がない場合は、以下の方法を試すと、ユーザーに認識されるレイテンシーが低減される可能性があります。

  • 複雑な視覚要素のレンダリングや、ドキュメントのレンダリングに時間のかかるAPLコマンドの実行を遅らせます。APLコンポーネントのdisplayの初期状態をhiddenに設定し、コンポーネントのonMountイベントハンドラーで、displayをnormalに設定して表示することを検討します。
  • APLドキュメントをレンダリングまたは更新している間、読み込み中を示す画面を表示することを検討します。たとえば、APL SendEventコマンドを実行してスキルへのクラウドラウンドトリップを開始するときに、読み込み中を示すアニメーションや進行状況を示すその他の視覚要素をレンダリングします。このアプローチでは、スキル応答は読み込み中アニメーションを終了するコマンドセットで応答します。


このページは役に立ちましたか?

最終更新日: 2025 年 11 月 26 日