【发布时间】:2014-10-29 05:59:50
【问题描述】:
我遇到了很多关于以编程方式清理临时文件和缓存的问题,我得到的答案是No its not possible,因为应用程序处于沙盒模式,我们无法从其他应用程序访问一个应用程序的内容,除了一些我们有读取权限的场景。但最近我看到一个应用程序正在删除 其他应用程序的临时文件。它是活的并得到了苹果的认可。
以下是用户请求删除临时文件时发出的警报的屏幕截图。
所以我的问题是现在可以通过编程方式删除临时文件和其他应用程序的缓存,或者是否有任何特定的设备位置可以清除所有应用程序的临时文件或缓存。我对我的内容感到困惑请参阅(清洁应用程序)以及我读到的不可能的内容(以前的堆栈溢出问题和博客)。一些有价值的链接和 cmets 表示赞赏。
【问题讨论】:
-
公司总有可能获得特殊许可才能这样做。它非常罕见,并且是上帝的行为,但它的(特殊许可)已经完成(至少从我所听到的情况来看)。
-
如果该应用程序使用标准 calloc/free 函数怎么办?尽可能多地分配内存并释放。我也见过这样的应用程序,但它不起作用。
-
看起来应用程序试图填满所有可用内存(随机访问或磁盘),在操作系统上中继以释放更多资源并重复多次以尽可能同时确保故障安全,即当您请求的资源可能超出可用资源时,在边缘进行平衡。在纸面上它应该可以工作,但正如您可以想象的那样,资源并不是要定期优化的。
-
最明显的答案是,尽管应用程序在说什么,但它实际上并没有删除其他应用程序沙箱中的文件。要么是谎言,要么是不同的解释。
-
A-Live 是对的。您不能触摸其他应用程序的文件,但 iOS 可以。如果您的应用程序不断要求越来越多的磁盘空间,iOS 将删除其他应用程序的临时文件。然后你就可以释放 iOS 给你的所有空间,然后就可以了:临时文件不见了。我之前在某个地方看到过关于此类应用程序(用于“释放内存”)的类似讨论,这就是它们的工作方式。总结一下:你无法访问其他应用的文件,但你可以欺骗操作系统删除它们。
标签: ios iphone memory ram temp