2016-11-30 69 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

相關問題