買Air的時候特意選了高配版。硬盤空間128G(2011年的古董機(jī))。它在最初的 1-2 年使用得很好。后來發(fā)現(xiàn)自己越來越做不到了。為了騰出盡可能多的空間,幾乎所有的照片、視頻和PDF文檔都被移到了云端,我也經(jīng)常使用其他工具清理,但我還是發(fā)現(xiàn)空間已經(jīng)被一些應(yīng)用程序侵蝕了被卸載。由于沒有更好的解決方案,我自己寫一個工具。清理。
前幾節(jié)是相對繁瑣的技術(shù)介紹。不感興趣的同學(xué)可以直接跳到工具使用部分。
應(yīng)用程序的收藏目錄
mac與操作系統(tǒng)有很大的不同。大多數(shù)應(yīng)用程序沒有安裝程序。通常,下載 是一個 dmg 文件。解壓后,直接將app拖到應(yīng)用目錄下。,所以它給人的印象是卸載是將應(yīng)用程序拖到垃圾箱然后清空它。這樣做將是一個很大的錯誤。即使是最簡單的應(yīng)用程序也會在以下目錄中留下或多或少的紀(jì)念物。這些目錄通常包括:
如果一個程序是pkg安裝的,或者第一次運行時要求管理員權(quán)限,一般會在以下目錄中紀(jì)念:
以上只是零件清單。不同的應(yīng)用程序會根據(jù)需要將一些文件安裝在其他目錄中。比如字處理軟件一般會在//Fonts下安裝字體,一些擴(kuò)展組件會放在//下。
由于篇幅所限,我無法一一介紹所有目錄的內(nèi)容,只挑幾個重點目錄說一下:
~//
這個目錄可以說是一個app最重要的文件目錄。有些app本身不大,但是需要很多配套的組件和內(nèi)容,尤其是軟件使用第三方插件,緩存網(wǎng)絡(luò)內(nèi)容,比如我用的Dash本身只有24MB左右大小要怎么關(guān)閉打開的mac軟件下載,但由于頻繁瀏覽數(shù)據(jù),緩存了大量網(wǎng)絡(luò)內(nèi)容,使其目錄達(dá)到1.37GB!可想而知,如果只是將應(yīng)用程序扔進(jìn)廢紙簍,幾乎不會節(jié)省任何空間。
~//
應(yīng)用程序設(shè)置保存在此目錄中。一般來說,規(guī)模較小的軟件都有自己的配置信息。雖然放在這里的文件占用空間很大,但是清理一下還是有好處的。比如有些應(yīng)用程序不能正常運行,即使卸載重裝,也往往是因為配置文件有誤。清理干凈后再重新安裝,效果會更好。
~//
該目錄是 App Store 中 下載 的 軟件 最重要的目錄。由于Apple的限制,軟件中的軟件都運行在沙箱中,每個軟件在沙箱中都有自己完整的空間。對于App來說,它以為是在正常的目錄系統(tǒng)中運行,其實不然。操作系統(tǒng)將讀取和寫入位置重新定位到沙箱。
如果我卸載了軟件,我只是點了中間的fork把它刪了,那不知道有多少空間莫名其妙的消失了。我就這樣卸載了網(wǎng)易云音樂,后來才發(fā)現(xiàn)整整417MB的空間都沒了……
~//
mac上的隨機(jī)啟動方式之一,熟悉OS X操作系統(tǒng)的同學(xué)應(yīng)該馬上想到。這是存儲啟動配置文件的地方。大多數(shù)應(yīng)用只在此處寫入啟動信息。困難,你必須使用第三方工具或自己手動清理。、 和 之間有一些區(qū)別,雖然都是隨機(jī)激活的,詳細(xì)對比請看VS。
此工具概述
直到現(xiàn)在要怎么關(guān)閉打開的mac軟件下載,我還在想,如果我用 Cocoa 來寫這個工具,程序會小很多?,F(xiàn)在程序壓縮包有40+MB。其實大部分都是 React 框架庫,真正的代碼很少。這些文件加起來小于 1M。我選擇使用它的原因是為了驗證使用 React 開發(fā)桌面應(yīng)用程序會是什么樣子。有稱霸江湖的能力嗎?
最大的擔(dān)憂可能是性能問題。程序雖然不難,但也有幾個操作比較密集的地方。一是plist信息的解析,二是正則表達(dá)式。我把plist解析放到一個外部庫來做,正則表達(dá)式還是用V8引擎,目前還可以。
程序I/O較多,需要頻繁統(tǒng)計文件占用空間,查找相關(guān)文件,讀取文件信息。雖然最大的優(yōu)點是異步操作,但是在結(jié)果統(tǒng)計之前,接口不能再做任何響應(yīng)。有什么意義,所以我在某些地方?jīng)]有使用異步操作,如果你覺得界面有點卡,那是我的錯,不是 React 的錯 :)
我想推薦 mac 系統(tǒng)自帶的那個。這是 mac 上的瑞士軍刀。它可以與上面的一個進(jìn)行比較。我最后的清理工作在這個軟件本質(zhì)上是通過,比如清理工作要先關(guān)閉目標(biāo)程序。如果你自己編程,你打算如何實現(xiàn)它?枚舉系統(tǒng)進(jìn)程然后殺死?它可以非常優(yōu)雅地完成,例如,您打開,然后同時打開一個終端窗口,然后在終端中鍵入
osascript -e 'quit app "safari"'
名字的由來
從同名電影《Total》中,經(jīng)過一次虛擬體驗,奎德突然發(fā)現(xiàn)自己并不是一個無名小卒,而是一名超級特工。他是什么?也許真正的自己永遠(yuǎn)都找不到了,但至少不會像現(xiàn)在這樣馬虎。
我也想把它理解為,即使用力清洗,也不一定能恢復(fù)到原來的狀態(tài),但至少不會那么糟糕。
工具的使用
這個好像沒什么好說的,我只是對比了下的清潔效果,至少在大部分情況下,我感覺還不錯。
卸載百度云對比
可以清楚的看到百度云的目錄沒有找到。另外,只找到了登錄項,沒有找到啟動項和啟動文件。
Total不僅找到了所有內(nèi)容,還找到了,有1.14MB空間,還找到了里面的啟動項和啟動文件,也找到了。這樣的鬼...
比較已卸載的應(yīng)用程序
他們中的許多人的名單感覺很可怕。仔細(xì)一看,發(fā)現(xiàn)都是\com..目錄下的子目錄,而且我還拿了一個系統(tǒng)臨時目錄充值(電腦重啟后系統(tǒng)臨時目錄會清空),卸載了其實只要當(dāng)您刪除沙盒目錄時,一切都會好起來的。
參考內(nèi)容不足