2016-11-30 58 views
0

因此,我可以删除图像缓存,但有没有办法删除应用程序存储中的文件?例如,如果您转到设置>常规>存储和iCloud使用>管理存储,然后找到您的应用程序。我想清除这些数据,因为它不断增加。对此有何看法?清除ios应用程序存储数据?

这是我目前有:

 var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
     var cache = System.IO.Path.Combine(documents, ".config", ".isolated-storage", "ImageLoaderCache"); 
     foreach (var file in System.IO.Directory.GetFiles(cache)) 
     { 
      //older than or 3 days, delete 
      DateTime fileCreationDate = System.IO.File.GetCreationTime(file); 
      if ((DateTime.Now - fileCreationDate).Days >= 3) 
      { 
       System.IO.File.Delete(file); 
      } 
     } 
+0

我想你正在寻找'NSCachesDirectory'而不是'MyDocuments':http://stackoverflow.com/questions/15064854/delete-files-from-nscachesdirectory-programmatically – SushiHangover

回答

0

而是在文档存储缓存图像(<Application_Home>/Documents)文件夹,储存于缓存(<Application_Home>/Library/Caches)文件夹中。

根据iOS data Storer Guidelines如果您要在文档目录中存储某些内容,这意味着您要将其备份到iCloud上。 所以当数据存储在文档目录中时 - 将其上传到iCloud。这就是为什么它显示在iCloud存储。

+0

这在Xamarin中并不总是很明显,如何做到这一点,但我绝对同意。我们发现问题根本不在于iCloud,更重要的是我们的应用程序中有一个巨大的DLL,从而使应用程序变得非常庞大,这反映了存储页面的大小。我同意,但会提高你的答案,因为它是正确的。 – jdmdevdotnet

相关问题