UWP应用程序使用位于由其包ID标识的唯一文件夹下的多个数据文件夹.具体来说,LocalCache和TempState数据文件夹如何比较和对比?
在桌面上,Windows应用商店应用的数据文件存储在%USERPROFILE%\ AppData\Local\Packages {PackageId}文件夹下,其中{PackageId}对应于Windows应用商店应用包标识符(Windows Mobile上略有不同但同样独特的文件夹) ).
大约有六个文件夹,每个文件夹都有特定用途,包括用于缓存应用程序数据的文件夹LocalCache和用作临时文件夹的TempState文件夹.
以下是两个数据文件夹的比较和对比.
两者都被排除在备份/恢复操作之外.相反,始终备份诸如LocalState,Settings和RoamingState之类的应用程序数据文件夹.
既可以通过使用全部清除[和删除任何时间应用程式内危险!]方法ApplicationData.Current.ClearAsync()
,或选择性地使用ApplicationData.Current.ClearAsync(ApplicationDataLocality.Temporary)
用于TempState文件夹,ApplicationData.Current.ClearAsync(ApplicationDataLocality.LocalCache)
用于LocalCache文件夹.
可以依赖LocalCache文件夹,直到它被删除,而TempState文件夹以后不能被依赖,因为它会被外部因素(如磁盘清理)或操作系统在运行低的存储空间上删除.
如果您希望数据不需要备份,但希望以后再使用它,并且只在完成后删除它,那么请使用LocalCache文件夹.
如果您需要不需要备份的数据,但只需要当前应用程序会话(并将清理作业留给外部工具(如存储清理)),则使用TempState文件夹.
您可能希望在退出应用程序时实现TempState文件夹的自动清除.同样,监视LocalCache文件夹以清除不再需要的数据是一个值得关注的重点.