1. 程式人生 > 實用技巧 >Mac中的垃圾檔案的清理

Mac中的垃圾檔案的清理

一 前言

最近發現mac的儲存空間不夠了,看一下系統的儲存空間如下圖所示,這個其他佔了160+G的儲存空間,那麼這個其他到底包含什麼東西呢?在網上查了很久,找到一種比較認可的說法是這樣的:

不同Mac上顯示的“其他”可能包含不同的資訊。Mac儲存空間共有系統、應用、文稿、廢紙簍、照片、音樂創作、郵件、廢紙簍等12種類別,但並不是所有Mac上都會顯示這些類別。例如有的Mac上顯示“系統”、“應用、“文稿”、“音樂創作”、“其他”,這時候“其他”就表示不包括在上述4種類別中的檔案。有一點可以肯定的是,“其他”包含了Spotlight(聚焦搜尋)無法識別的檔案以及應用外掛或者擴充套件功能。

二 各資料夾中有些啥?

上面這種對其他的解釋比較籠統,我們也不知道這個裡面到底放了什麼東西。在網上查了很久也沒找到其他有用的資訊,所以最後決定自己搗鼓系統中的內一個資料夾,去看看每個資料夾的大小和內容。經過一番檢視後,大致瞭解了每個部分所對應的大小和基本內容如下圖。

  • 系統:這沒什麼好多的,系統盤,不要刪任何的東西
  • 使用者:這個就比較雜了,我們可以看到佔到的空間也是達到了恐怖的131.85G,我們上面其他中很大一部分內容就在這了。裡面的內容也是五花八門,基本上我們平時下載的檔案、視訊、桌面資料,還有各種軟體的配置檔案、快取等都會在這個裡面。我們分析裡面的各個檔案後發現,所有的檔案加起來只有不到20G的內容,這就很奇怪了??通過查詢資料才發現,這個目錄下有一個隱藏的資料庫資料夾,該資料夾的大小有103G,這個就是我們的終極大boss了。

    • 使用者中的資料庫佔用了高達103.62G的儲存空間,下面是該資料夾的基本內容和大小分佈,這個資料夾中主要儲存的是使用者安裝的各類軟體所需要的一些配置工具、快取等內容。其中比較大的兩個資料夾是containers和developer。
      • containers:這個裡面主要是系統需要的一些擴充套件外掛和工具等,不能刪除
      • developer:主要就是xcode中產生的一些快取、外掛等內容,可以優化,也是我們進行優化的重點物件。具體優化方案在後面我們會具體提到

  • 資源庫:這個主要就是系統中我們安裝的各個軟體的配置工具和快取
    • 我這裡這個資料夾中主要是這個/Library/Developer/CoreSimulator/ 佔了很大一部分內容,有30.6G,這個裡面主要就是存放的是xcode下載的模擬器系統,我們如果不需要就可以刪掉一些以前下載的不需要再用的系統就行,後面如果需要也可以在xcode中重新下載,不影響開發

  • 應用程式:這個也沒啥好說的,就是我們安裝的應用程式,不需要的就直接在這個資料夾中刪掉就是解除安裝
  • preboot:這個是系統檔案,不能刪除,也不大,不用管
  • 最後發現所有的垃圾檔案都是因為xcode開發過程中產生的。mac中的檔案目錄結構如下:

三、儲存空間的優化

在前面的分析中,我們發現優化的地方其實就兩個部分,一個是系統資料庫中的 /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的裝置進行真機除錯。於是刪除了所有低於9.3的資料夾。

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下載的不同版本的目標模擬器,可以刪除不需要的目標模擬器