為什么等待卸載時間這么長,為什么手機程序安裝時很久

重點來了,為什么安卓幾乎是秒卸載,而Windows很慢 。反之,刪除太多文件,時間會很長,積少成多 ?,F在所有的軟件都很流氓 。想卸載一個軟件,要經歷各種操蛋的選擇過程,卸載、修復、狠心卸載、暫時不卸載等等 。很頭疼 。
為什么手機程序安裝時很久,卸載就一兩秒的時間?

為什么等待卸載時間這么長,為什么手機程序安裝時很久


這個問題說起來也不復雜,簡單的比喻來講,這么說吧,嗯,你建一棟樓可能要花費半年的時間,但是你拆他的話,請個爆破隊一周之內就搞定了 。說得通俗一點吧,是這樣的 。系統在識別安裝文件的情況下是一個解壓縮的過程,這個解壓縮的過程在安卓系統里面我們是看不到的 。但是如果你在用windows系統,你是可以看得到安裝進度的,比如說關鍵數據要寫入系統盤c盤,寫入注冊表寫入硬盤分區簇,然后剩下的安裝文件會安裝到您指定的位置,那手機里面界面做了很多的精簡,但是道理是一樣的 。
這個過程我們是看不到,但是后臺仍然在執行解壓縮和重新建值的這么一個過程 。但是如果是現卸載的話,那就很簡單啦,直接全部打包刪除,就沒有那么復雜的執行啦 。但是不知道從何時起,在windows系統中,不知道大家有沒有感覺到 ?,F在所有的軟件都很流氓,你想卸載一個軟件要經歷各種操蛋的選擇過程,什么卸載啊,修復啊,狠心卸載啊,暫時不卸載啊等等等等亂七八糟的選項,很頭疼 。
為什么手機卸載一個幾個G的軟件瞬間就完成了,而電腦卻需要很長的時間?
蘋果iOS不了解,所以這里只討論安卓和Windows在安裝軟件方面的區別 。Windows的大型軟件通常都不是綠色的,需要安裝,而且安裝后的文件還不止一個 。往往至少有一個exe文件,還有若干個dll,以及其他的資源文件(圖片視頻本地數據庫等) 。其中dll叫做動態鏈接庫,可以用來和其他程序進行共享 。
比方說視頻解碼功能,就可以編寫一個專門的dll 。另外Windows還有一個com機制,它的dll共享功能更加強大,但是必須注冊 。所謂注冊,就是寫入注冊表,通知操作系統其他軟件如何調用它 。請注意,雖然開發人員不會經常自己寫dll,但是會調用別人寫好的共享dll,所謂的拿來主義 。而使用它們,就必須在安裝時也一并裝上,注冊上 。
Windows的這種共享機制,使得Windows大型程序往往都有很多很多文件,還有很多很多寫入注冊表和寫入系統目錄的操作 。安卓的安裝就顯得簡單很多 。安卓同樣也需要共享庫,這是所有大型程序都必須的 。但是安卓在安裝是會把這些庫,還有資源文件全部壓縮打包(zip),變成一個apk文件 。如果一個APP有1G,即是指這個apk單個文件有1G 。
如果是Windows,則可能是指成千上萬個文件加起來1G 。因為Windows沒有打包 。安卓的這種安裝部署方式的好處就是簡單,壞處就是沒有實現真正的共享,造成空間浪費 。這個好處壞處就不再展開討論 。反正大家現在明白了,安裝時,安卓是將所有文件打包成一個文件,Windows不打包 。在安裝時,不管是Windows還是安卓,面對大型軟件都是比較慢的,甚至超過1分鐘 。
比如安卓,會將1個G的單個apk復制到手機存儲上,有的還需要預編譯 。不過這不是重點,我們關注的是卸載速度 。重點來了,為什么卸載時安卓幾乎是秒卸,而Windows很慢?剛說了,安卓安裝時只有一個apk文件,卸載的時候刪除這一個文件就可以了,一秒鐘都用不了 。當然有時也需要清理這個apk所產生的垃圾文件,不過按照安卓的慣例,數量都不多 。

推薦閱讀