使用CodenameOne优化客户端存储空间

时间:2014-09-14 17:23:16

标签: image storage codenameone

在Codenameone中我有以下代码:

String url = "http://www.example.com/advertisement.png";
String key = "goose_id-"+System.currentTimeMillis();
Dimension dimension = new Dimension(200, 200);
ImageDownloadService.createImageToStorage(url, label, key, dimension);
// Please note that every image will be assigned to 
// a storage key that begins with "goose_id_" string

String url = "http://www.example.com/advertisement.png"; String key = "goose_id-"+System.currentTimeMillis(); Dimension dimension = new Dimension(200, 200); ImageDownloadService.createImageToStorage(url, label, key, dimension); // Please note that every image will be assigned to // a storage key that begins with "goose_id_" string

通过这种方式,每当我更改服务器中的文件advertisement.png时,用户在其设备中将获得不同的图像。

我唯一关心的问题是:在服务器中对文件进行多次更改后,用户将在其设备中拥有所有这些图像。这是对的吗?

我想知道这种策略是否最终会耗尽用户设备的空间。

如果是这样,我如何“清理”以“goose-id-”开头的存储对象?

1 个答案:

答案 0 :(得分:0)

是的,所有内容都会写入存储空间以进行缓存。

您可以使用"toDelete_"字符串为缓存键添加前缀,然后使用Storage类循环访问条目并定期删除它们。您也可以在主类的stop()方法中执行此操作,以便在应用程序暂停时清除存储空间。