アプリ起動するだけで/Library/Cachesにデータがダウンロードされ
アプリ終了後も残り続ける模様。
ストレージが逼迫したらOSが勝手に削除するディレクトリではあるものの、
iOSの「ストレージを管理」で見たときに「書類とデータ」にカウントされ、
無駄に容量を食うアプリという印象を与えてしまう。
起動時や終了時にApplication.temporaryCachePath内をクリアするのが良さそう。
public static void DeleteCaches()
{
string path = Application.temporaryCachePath;
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo file in di.GetFiles())
{
if (file.IsReadOnly == false) {
try
{
file.Delete ();
}
catch (IOException)
{
}
}
}
foreach (System.IO.DirectoryInfo dir in di.GetDirectories())
{
//iOSが生成するSnapshotsは消せない模様
if (dir.Name != "Snapshots") {
try
{
dir.Delete(true);
}
catch (IOException)
{
}
}
}
}
{
string path = Application.temporaryCachePath;
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo file in di.GetFiles())
{
if (file.IsReadOnly == false) {
try
{
file.Delete ();
}
catch (IOException)
{
}
}
}
foreach (System.IO.DirectoryInfo dir in di.GetDirectories())
{
//iOSが生成するSnapshotsは消せない模様
if (dir.Name != "Snapshots") {
try
{
dir.Delete(true);
}
catch (IOException)
{
}
}
}
}
追記:
AndroidだとApplication.persistentDataPath内にも色々溜め込んでいる。
コメント