このページでは

C

Qt Quick Ultralite image_cache の例

Qt Quick Ultraliteで画像キャッシュを使う方法を示す。

概要

この例では2つの画像セットを示しています。現在のセットはreloadInSeconds 秒ごとに変更され、キャッシュサイズは、各画像セットの画像量である一度に4枚の画像に合うように設定されています。したがって、キャッシュは、現在アクティブな画像セットのすべての画像を保持することができます。画像がキャッシュにロードされるのは、ディスプレイにレンダリングされるよう要求されたとき、つまり新しい画像がスワイプによってアクセスされたときです。キャッシュがいっぱいになると、最も古い画像が削除され、現在要求されている画像のためのスペースが空きます。

対象プラットフォーム

注: Infineon TRAVEO T2GおよびRH850 D1M1Aでは、タッチ入力がないため、この例ではreloadInSeconds 秒ごとに自動的に画像が切り替わります。

プロジェクト構造

画像キャッシュはQmlProjectファイルで有効にします。

CMakeプロジェクトファイル

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

複数のノードで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およびImage Cachingも参照してください

特定の Qt ライセンスの下で利用可能です。
詳細はこちら。