[玩家发布] 关于 iPhone 提示储存空间已满的权威解决办法。

2020-07-05 13:59:49 +08:00
 sunhoushi

来吧,作为一个资深玩家给你满意的回答。 先讲原理,ios 这几年有了很大的改变,但依然自大的很,比如沙盒机制就出现了漏洞,以前总在夸,app 全部限定于沙盒内,删除之后则与该应用相关文件全部删除,但这几年逐步给予了 app 更大的走出沙盒的权限,明眼看得见的比如输入法、那些拦截骚扰的软件、还有各种万能 wifi 等,已可以进入系统,这样,app 就有一定权限突破沙盒机制,在沙盒外进行缓存读写,系统则将这些沙盒外的,以及沙盒内的缓存统一放到储存空间的其他进行统计,注意,存放位置不同,但一并统计。

然而,通过 app 内的清理缓存只能清理沙盒内的缓存,但是 app 没有清理 ios 缓存的权限,所以就出现了很多人抱怨,app 删除了好多,但是储存空间中的"其他"占用仍很大。

目前 ios 也没有研究出如何清理沙盒外的缓存,因为苹果也搞不清哪些缓存对应的 app 已经删除,所以它也不敢直接清理,app 本身又没有权限。

对于这个问题,网上一堆堆的骗子软件说能清理,但都是骗人的,没有 app 有清理沙盒以外缓存的权限,苹果官方给出的答复: app 内的缓存,通过 app 自带的清理缓存清理; 沙盒外的缓存,唯一办法就是还原设备,一键将所有 app 以及所有缓存清除。

欢迎指正

11675 次点击
所在节点    iPhone
22 条回复
meisen
2020-07-05 14:11:52 +08:00
难道不是卸载重装😂
wobuhuicode
2020-07-05 14:32:32 +08:00
所以我这种一直只用系统自带的输入法,不用拦截工具,没用万能 wifi 的人多出来的其它又是什么鬼
Jirajine
2020-07-05 14:35:29 +08:00
Android 眼看文件隔离问题要解决了,🍎反而开起倒车来了?
924244687
2020-07-05 15:37:56 +08:00
手上 64g 的设备用个半年就只剩 4 、5 g 了,一般的解决方法是在 AppStore 里多下载点大型游戏,让系统自己去清理,下到提示储存满了再删。一般能多出来 8-9g 空间
dingwen07
2020-07-05 15:58:19 +08:00
这个说法有点问题:既然 App 能在沙盒外读写,而 iOS 自己都不知道每个缓存文件来自哪个 App,那意味着 iOS 连文件权限都无法管理,也就是说所有 App 都有权读写沙盒外其它 App 写入的缓存。
我认为 iOS 存储空间里的数据肯定有很大问题,比如 iOS 14 的“翻译”App 在 iPhone 存储空间里只有 2.7M ,其中数据仅 260K,而我下载了中文和英文的语言包,所以语言包数据肯定没有被统计。
希望有熟悉 iOS 的开发者能来回答一下
xiangyuecn
2020-07-05 15:59:59 +08:00
缓存?不存在的,国民级 app 才会往缓存区写文件,无脑的都当数据写到了缓存清理不到的地方。

比如你一个傻了吧唧的某个聊天软件,空间占用几十 G,缓存却只有几百 MB😂
xiangyuecn
2020-07-05 16:01:26 +08:00
<del>国民级 app 才会往缓存区写文件</del>
国民级 app 才不会往缓存区写文件
dingwen07
2020-07-05 16:05:27 +08:00
还有 iOS 14 翻译 App 语言包特别大 我刚测试了下下载了除了中文英语外所有包 花了 5.4G 流量 存储空间用了 6~7G
liaoyaoheng
2020-07-05 16:05:41 +08:00
@xiangyuecn 如微信这毒瘤
“国民级 app 才不会往缓存区写文件”
kingfun
2020-07-05 16:26:18 +08:00
keychain 被滥用的结果,本来苹果推出这个功能是为了敏感数据的持久化保存和相关数据在 App Group 之间便捷传递。可是现在的 app 已经将其用来保存所有它不想被删除的数据,什么用户的存储空间不足,这些 app 是从来不 care 的,反正自己的内容能持久化保存在用户手机上就行了。app 是有权限对它保存在沙盒之外的数据做增删改查的操作,可惜啊想删除这些缓存,很多 app 都是傲娇的说我偏不。
IzayakI
2020-07-05 16:27:22 +08:00
问:关于 iPhone 提示储存空间已满的权威解决办法。
答:换手机
Bestda
2020-07-05 17:51:23 +08:00
你说的没错,但对于不想还原的朋友就不很友好了
xiaocongcong
2020-07-05 18:39:13 +08:00
越狱及黑解设备不能抹除还原,那么变相无解。还有其他办法吗?
laoyur
2020-07-05 18:50:12 +08:00
想多了
app 能读写的无非以下几种:沙盒目录、appgroups 目录、keychains 、应用内剪贴板
第一种肯定被统计为 app 占用的空间
第二种因为是多 app 共享,不知道它算作啥,难道是算作其他?但是 appgroups 一般不会放很巨大的文件
keychains 虽然被滥用,但是要知道这货都是放敏感数据( genp 、keys 之类),不会放傻不愣登超级巨大的二进制数据的,不可能出现占用几百 M 、几 G 的情况发生
应用内剪贴板么,都有第一二种文件存储方式了,有啥必要在里面放超大数据?这货又不会持久化,删了 app 就没了

至于说什么缓存啥的,各 App 自己层面的缓存,是放在沙盒目录下的; App 在系统层面的缓存(不就是网络嘛)也是由系统负责了放在沙盒目录的 tmp/Library 下的,App 自己都是有权限删的

综上:其实已经给了 App 很大的权限来清空存储了。那为啥 [其他] 里面还是占了很多删不掉的东西? iOS 自己垃圾呗,难道还不让人说了?
WebKit
2020-07-05 19:18:02 +08:00
@Jirajine Android 的实现跟这个区别还是很大的。Android 只是 app 进行文件隔离,用户改时间可以访问所有文件的。并且可以手动给某个 app 访问所有文件的权限。这样给清理软件访问权限就可以了
redsonic
2020-07-05 22:57:34 +08:00
@xiaocongcong 越狱以后都获得所有目录权限了还有什么不能手动删的。
xiaocongcong
2020-07-06 07:45:08 +08:00
@redsonic 白苹果警告 哈哈哈
hyp1235
2020-07-06 22:46:20 +08:00
前两个星期反复被空间不足折磨,东西删了又删,用不了一天就又提示了,新机再即,又不想再去收一个大容量的二手,最后忍无可忍,IMAZING 备份,把手机抹掉了,恢复备份后终于可以正常用了,原来 64G 的内存,其他项里就占了 40G,实在是让人崩溃
sunhoushi
2020-07-12 18:45:17 +08:00
@924244687 你这个方案试过,没用
sunhoushi
2020-07-12 18:47:56 +08:00
@dingwen07 ios 知道沙盒外的缓存来自哪儿,但它不会在你删除 app 的时候,把沙盒外的自动删除

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687294

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX