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