一 前言
最近发现mac的存储空间不够了,看一下系统的存储空间如下图所示,这个其他占了160+G的存储空间,那么这个其他到底包含什么东西呢?在网上查了很久,找到一种比较认可的说法是这样的:
不同Mac上显示的“其他”可能包含不同的信息。Mac存储空间共有系统、应用、文稿、废纸篓、照片、音乐创作、邮件、废纸篓等12种类别,但并不是所有Mac上都会显示这些类别。例如有的Mac上显示“系统”、“应用、“文稿”、“音乐创作”、“其他”,这时候“其他”就表示不包括在上述4种类别中的文件。有一点可以肯定的是,“其他”包含了Spotlight(聚焦搜索)无法识别的文件以及应用插件或者扩展功能。
二 各文件夹中有些啥?
上面这种对其他的解释比较笼统,我们也不知道这个里面到底放了什么东西。在网上查了很久也没找到其他有用的信息,所以最后决定自己捣鼓系统中的内一个文件夹,去看看每个文件夹的大小和内容。经过一番查看后,大致了解了每个部分所对应的大小和基本内容如下图。
- 系统:这没什么好多的,系统盘,不要删任何的东西
- 用户:这个就比较杂了,我们可以看到占到的空间也是达到了恐怖的131.85G,我们上面其他中很大一部分内容就在这了。里面的内容也是五花八门,基本上我们平时下载的文件、视频、桌面资料,还有各种软件的配置文件、缓存等都会在这个里面。我们分析里面的各个文件后发现,所有的文件加起来只有不到20G的内容,这就很奇怪了??通过查询资料才发现,这个目录下有一个隐藏的资料库文件夹,该文件夹的大小有103G,这个就是我们的终极大boss了。
-
- 用户中的资料库占用了高达103.62G的存储空间,下面是该文件夹的基本内容和大小分布,这个文件夹中主要存储的是用户安装的各类软件所需要的一些配置工具、缓存等内容。其中比较大的两个文件夹是containers和developer。
- containers:这个里面主要是系统需要的一些扩展插件和工具等,不能删除
- developer:主要就是xcode中产生的一些缓存、插件等内容,可以优化,也是我们进行优化的重点对象。具体优化方案在后面我们会具体提到
- 用户中的资料库占用了高达103.62G的存储空间,下面是该文件夹的基本内容和大小分布,这个文件夹中主要存储的是用户安装的各类软件所需要的一些配置工具、缓存等内容。其中比较大的两个文件夹是containers和developer。
- 资源库:这个主要就是系统中我们安装的各个软件的配置工具和缓存
- 我这里这个文件夹中主要是这个 /Library/Developer/CoreSimulator/ 占了很大一部分内容,有30.6G,这个里面主要就是存放的是xcode下载的模拟器系统,我们如果不需要就可以删掉一些以前下载的不需要再用的系统就行,后面如果需要也可以在xcode中重新下载,不影响开发
- 应用程序:这个也没啥好说的,就是我们安装的应用程序,不需要的就直接在这个文件夹中删掉就是卸载
- preboot:这个是系统文件,不能删除,也不大,不用管
三、存储空间的优化
在前面的分析中,我们发现优化的地方其实就两个部分,一个是系统资料库中的 /Library/Developer/CoreSimulator/ 这一部分,另一个是用户资料库中的 /Users/mukekeheart/Library/Developer 这一部分,这两部分都是我们在xcode开发过程产生的一些缓存和下载文件。关于这两部扥优化方案如下:
1. /Users/mukekeheart/Library/Developer/Xcode/DerivedData/
这个文件夹中保存的是Xcode的缓存文件,曾经在Xcode跑过的所有项目的索引、build的信息等都会保存在这里。删除后在下次打开项目编译的时候将会重新生成。由于这里包含了大量已经没用的项目的信息又懒得去筛选,于是把整个文件夹删了。
2. /Users/mukekeheart/Library/Developer/Xcode/iOS DeviceSupport/
每次把一个设备接入电脑进行真机调试之前,电脑会对设备建立索引,也在此文件夹下生成对该设备系统的支持文件。于是这里存在了一堆对旧版本iOS设备支持的文件。而我最近基本只对iOS9.3的设备进行真机调试。于是删除了所有低于13.6的文件夹。
3. /Users/mukekeheart/Library/Developer/Xcode/Archives/
每次打包App的dSYM等数据就保存在这里,把一些没用的版本删了。如果是上线了的版本还是保留吧。
4. /Users/mukekeheart/Library/Developer/Xcode/Products/
同上,把没用的删了。
5. /Users/mukekeheart/Library/Developer/CoreSimulator/Devices/
一堆模拟器的数据。每个文件夹里包含的就是一个特定系统版本的设备的数据。每个文件夹对应哪个设备可以在其下device.plist中查看。亲测删除之后的效果跟在模拟器里重置相同。省得一个个去重置了,删吧。
6. /Users/mukekeheart/Library/Developer/XCPGDevices/
这里保存了playground的项目缓存。全删了。
7. /Library/Developer/CoreSimulator/Profiles/Runtimes
这里保存的是xcode下载的不同版本的目标模拟器,可以删除不需要的目标模拟器
我这边进行优化之后,总存储空间释放了接近80G,还是挺不错的