更新時間:2022-06-07 11:02:32 來源:動力節(jié)點 瀏覽2474次
在本文中,動力節(jié)點小編將介紹圖像緩存。本文介紹的本地緩存使用了前面文章 Externalizing Resources - Persisting Images in RMS 中介紹的代碼和課程。請注意,此處描述的概念適用于圖像以外的其他類型的資源。
圖像緩存提供了許多好處,包括從應(yīng)用程序外部化圖像資源、隱藏圖像的來源、管理和檢索、僅在需要或更新時下載圖像以及僅保留最常用的圖像。所有這些好處都有助于縮小應(yīng)用程序的大小。以下框圖說明了圖像緩存的元素:

使用圖像緩存非常簡單:
應(yīng)用程序獲取圖像緩存的實例
應(yīng)用程序通過名稱通過緩存檢索資源
然后,圖像緩存:
嘗試從內(nèi)存中檢索資源
如果不在內(nèi)存中,則嘗試從存儲中加載它
如果不在存儲中,它會分派一個線程從網(wǎng)絡(luò)加載它
以下活動圖中說明了此順序和邏輯:

圖像緩存由 class 實現(xiàn) ImageCache,該接口 ImageCacheListener定義了事件通知的偵聽器接口,以及一些輔助實用程序方法。它們加起來 大約有17 KB,比在 MIDlet 套件中嵌入大量靜態(tài)圖像還要小。以下兩個類繼承和關(guān)聯(lián)圖說明了 MIDlet 和 Image 緩存關(guān)系:


圖像緩存依賴于記錄管理系統(tǒng) (RMS) 在本地存儲圖像以供以后使用。在 RMS 中,創(chuàng)建了一個圖像記錄存儲,其中包含單個圖像,每個記錄一個圖像。每條記錄的格式如下:

為了管理圖像記錄存儲,圖像緩存使用 ImageRmsUtils技術(shù)技巧 Externalizing Resources - Persisting Images in RMS中描述的實用程序類。每條記錄都有以下字段:資源名稱、寬度和高度、時間戳、長度和圖像原始字節(jié),這是管理緩存中的圖像所需的所有最小信息。為了管理網(wǎng)絡(luò)連接,圖像緩存使用 NetworkUtils技術(shù)提示通過 HTTP 訪問資源中描述的實用程序類。
相關(guān)閱讀