アドフリくんのキャッシュ

| コメント(0) | トラックバック(0)
リワード動画を実装したら、
アプリ起動するだけで/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)
                {
                }
            }
        }
    }

追記:
AndroidだとApplication.persistentDataPath内にも色々溜め込んでいる。

トラックバック(0)

トラックバックURL: http://www.kyucon.com/cgi-bin/blog/mt-tb.cgi/433

コメントする

アーカイブ