WorldWind源码剖析系列:缓冲类Cache

时间:2021-09-01 09:59:14

缓冲类Cache主要用于在最小的限制条件下保存从远程服务器通过网络下载下来的地理空间数据,以便当用户处于离线状态时能够使用这些已经缓冲好的数据。Google Earth也采用类似机制处理用户离线浏览漫游问题。该类类图如下。

WorldWind源码剖析系列:缓冲类Cache

提供的主要参数设置有:缓冲区上限CacheUpperLimit(默认最大为2GB)、缓冲区上限CacheUpperLimit(默认最大为2GB)、缓冲区下限CacheLowerLimit(默认上限的75%,即1.5GB)、缓冲区目录CacheDirectory、缓冲区清理频率CleanupFrequency、还有一个用户记录缓冲区累计使用时间的定时器m_timer。

private void OnTimer(object state)函数用来监控缓冲区的运行状态,以便控制缓冲区的参数在限制范围之内。

public static ArrayList GetDirectoryFileInfoList(DirectoryInfo inDir) 函数用来获取缓冲区中目录和文件信息相关列表。

public static long GetDirectorySize(DirectoryInfo inDir) 函数用来获取缓冲区中指定目录所占硬盘空间的大小。