在一个Codename One应用程序中,我需要一个区域(供开发人员和测试人员使用)显示:
在Codename One API中,我找到了Storage.getInstance().clearCache
和Storage.getInstance().clearStorage()
,但是没有找到与FileSystemStorage等效的文件。
我想要一些满足所有这些要求的技巧。谢谢。
答案 0 :(得分:1)
Storage
被管理,因此其访问被缓存。清除文件系统相当于格式化硬盘驱动器...不是人们期望的API。
由于存储是平坦的,因此透明存储的实现非常简单:
String[] l = listStorageEntries();
int llen = l.length;
for(int iter = 0 ; iter < llen ; iter++) {
deleteStorageFile(l[iter]);
}
FileSystemStorage
使用层次结构,因此这是不切实际的。
仅FileSystemStorage
和getRootAvailableSpace()
上有可用空间。请注意,此API可能有点不稳定,因为操作系统并不总是以明确的方式报告存储。移动操作系统的分区方式有很多细微差别,通常Storage
会根据其占用的空间映射到第一个根,但是我们不能保证总是如此。
如果目标只是测试,则Android和iOS都提供了一种工具来检查应用在各自的应用设置内占用的总存储量。