更新时间:2022-06-07 11:02:32 来源:极悦 浏览1841次
在本文中,极悦小编将介绍图像缓存。本文介绍的本地缓存使用了前面文章 Externalizing Resources - Persisting Images in RMS 中介绍的代码和课程。请注意,此处描述的概念适用于图像以外的其他类型的资源。
图像缓存提供了许多好处,包括从应用程序外部化图像资源、隐藏图像的来源、管理和检索、仅在需要或更新时下载图像以及仅保留最常用的图像。所有这些好处都有助于缩小应用程序的大小。以下框图说明了图像缓存的元素:
使用图像缓存非常简单:
应用程序获取图像缓存的实例
应用程序通过名称通过缓存检索资源
然后,图像缓存:
尝试从内存中检索资源
如果不在内存中,则尝试从存储中加载它
如果不在存储中,它会分派一个线程从网络加载它
以下活动图中说明了此顺序和逻辑:
图像缓存由 class 实现 ImageCache,该接口 ImageCacheListener定义了事件通知的侦听器接口,以及一些辅助实用程序方法。它们加起来 大约有17 KB,比在 MIDlet 套件中嵌入大量静态图像还要小。以下两个类继承和关联图说明了 MIDlet 和 Image 缓存关系:
图像缓存依赖于记录管理系统 (RMS) 在本地存储图像以供以后使用。在 RMS 中,创建了一个图像记录存储,其中包含单个图像,每个记录一个图像。每条记录的格式如下:
为了管理图像记录存储,图像缓存使用 ImageRmsUtils技术技巧 Externalizing Resources - Persisting Images in RMS中描述的实用程序类。每条记录都有以下字段:资源名称、宽度和高度、时间戳、长度和图像原始字节,这是管理缓存中的图像所需的所有最小信息。为了管理网络连接,图像缓存使用 NetworkUtils技术提示通过 HTTP 访问资源中描述的实用程序类。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习