このページでは

C

Qt Quick Ultralite image_cache の例

Qt Quick のUltraliteにおける画像キャッシュの使用方法を示します。

概要

このサンプルでは、2 組の画像を表示します。現在の画像セットはreloadInSeconds 秒ごとに更新され、キャッシュサイズは各画像セットに含まれる画像数である 4 枚を一度に収容できるように設定されています。したがって、キャッシュには現在アクティブな画像セットのすべての画像を格納できます。 画像は、ディスプレイ上に表示するよう要求されたとき(スワイプ操作によって新しい画像にアクセスされたとき)に、キャッシュに読み込まれます。キャッシュが満杯になると、最も古い画像が削除され、現在要求されている画像のための空き領域が確保されます。

オンデマンド画像キャッシュから読み込まれた風景写真を示す Image_cache の例。

Image_cache の例。同じ風景写真を表示し、間もなく再読み込みが行われることを示しています。

Image_cache:リロード後に表示される新しい風景写真の例。

対象プラットフォーム

注: Infineon 、TRAVEO T2G、および RH850 D1M1Aでは 、タッチ入力ができないため、サンプルはreloadInSeconds 秒ごとに自動的に画像を切り替えます。

プロジェクト構造

QmlProject ファイルで画像キャッシュが有効になっています。

CMake プロジェクトファイル

画像キャッシュを有効にするには:

  • MCU.Config.maxResourceCacheSizeを使用して、リソースキャッシュのサイズを希望のサイズに設定します。
  • QmlProjectのプロパティ `ImageFiles.MCU.resourceCachePolicy` を設定します。これにより、すべてのリソースに対してアセットキャッシュポリシーが `OnDemand ` に設定されます。

複数のノードでImageFiles.MCU.resourceCachePolicy変数を使用することで、個々のリソースごとにアセットキャッシュポリシーを設定することも可能です。これは、アプリケーション内の特定の画像のみをキャッシュ対象とする場合に役立ちます。

...
        MCU.Config {
                maxResourceCacheSize: 2211840
        }
...
        ImageFiles {
                files: [
                "images/basse-terre-guadeloupe.jpg",
                "images/grand-canyon-arizona.jpg",
                "images/grand-canyon-national-park.jpg",
                "images/Jokulsarlon-glacier-lagoon-iceland.jpg",
                "images/reine-lofoten-islands.jpg",
                "images/sequoia-national-park.jpg",
                "images/sogn-og-fjordane.jpg",
                "images/yosemite-national-park.jpg",
                ]
                MCU.resourceCachePolicy: "OnDemand"
        }
...

ターゲット OS が FreeRTOSの場合、ヒープサイズを設定してください

...
        qul_override_freertos_heap_size(image_cache "8 * 1024 * 1024 + ${cache_size_in_bytes}")
...

これで、画像が描画されるたびに、レンダラーはまずキャッシュを確認するようになります。

ファイル:

画像:

ImageFiles.MCU.resourceCachePolicy」および「画像のキャッシュも参照してください

特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。