我的应用程序创建多个项目时首次推出,并将它们保存到/图书馆/缓存/缩略图的MonoTouch:项目保存到/图书馆/缓存永远呆在身边
该应用程序的伟大工程。
当我杀了应用程序,然后重新运行它,那些文件不再有了。这在模拟器中不会发生。
我设置了no-not-backup属性,但仍然在应用程序在手动关闭后运行时,缓存为空。
有没有办法让缓存持续一点时间。这是数据不是由用户创建的,因此不能放入/ Documents。
我的应用程序创建多个项目时首次推出,并将它们保存到/图书馆/缓存/缩略图的MonoTouch:项目保存到/图书馆/缓存永远呆在身边
该应用程序的伟大工程。
当我杀了应用程序,然后重新运行它,那些文件不再有了。这在模拟器中不会发生。
我设置了no-not-backup属性,但仍然在应用程序在手动关闭后运行时,缓存为空。
有没有办法让缓存持续一点时间。这是数据不是由用户创建的,因此不能放入/ Documents。
在我的FinishedLaunching
方法中添加以下代码会在每次执行时显示一个新文件(包括设备和模拟器上)。
string appdir = NSBundle.MainBundle.BundleUrl.Path;
string cache = Path.GetFullPath (Path.Combine (appdir, "..", "Library", "Caches"));
Console.WriteLine ("Files:");
int i = 0;
foreach (string file in Directory.GetFiles (cache, "*.txt"))
Console.WriteLine ("{0}. {1}", i++, file);
string fname = Path.Combine (cache, i.ToString() + ".txt");
File.WriteAllText (fname, "cache this for later");
所以它看起来像iOS的decided to purge的数据以回收设备(新功能 iOS 5中)的部分空间。这不会发生在每个用户/设备上(如果有足够的空间可用),但令人遗憾的是,我不知道iOS如何计算这一点。
拒收备份将不利于(Caches
是从来没有备份),除非你保存你的数据里面Documents
但这种情况可能会导致你的其他问题,以及(WRT的AppStore)。对于缺少更好的答案,我建议你像(上一个链接)博客作者一样填写bug report。
App Store不喜欢使用/ Documents,它正在消失/缓存。好吧,有时间有一个新的方法。我很高兴我使用MonoTouch,所以它很容易,快速和稳定。 – 2012-02-21 00:51:46
我的MonoTouch应用程序也被拒绝使用/ Documents存储可重新映射的图像,所以我需要切换到Library/Caches以及 – 2012-02-26 23:29:57
这是意想不到的。我会尝试复制这个。由于(IIRC)'app/Library/Caches /'永远不会被iTunes备份(afaik它也被模拟器忽略),所以** do-not-backup **标志不应该改变任何东西。你能编辑你的问题来说明正在使用什么版本的iOS? – poupou 2012-02-20 21:35:58