-
1 # 聞一知二觀隅反三
-
2 # 負1樓
無論是電腦還是手機,刪除檔案的速度都是很快的,電腦上如果只是單純刪除檔案的話幾個g的檔案也是瞬間刪除,這是因為對檔案的刪除都是標記性刪除,也就是硬碟上做個記號,標記這個檔案已經被刪除了,新的檔案可以使用這塊地了,並沒有真正的從硬碟上刪除,這就是為什麼檔案刪除後,只要這塊區域還沒被寫入新的檔案就還能找回的原因。
解除安裝手機app時,主要的工作就是刪除檔案,儘管後臺刪除檔案不是一瞬間完成(看起來瞬間就完成,其實後臺還在進行刪除操作),但相比電腦而言還是快很多,而電腦中的解除安裝還要修改很多配置資訊以及登錄檔等,再加上檔案多,所以就很慢了。
-
3 # 使用者92805446502
其實手機也不是一瞬間就完成的!蘋果手機為例,刺激戰場現在快閃記憶體佔用大約2.5G,在桌面按壓之後刪除,之後你迅速開啟設定,進入儲存檢視,你會發現這2.5G左右的空間大約要等5-8秒才能恢復。可見手機在後臺執行刪除任務。把動畫做成秒刪是為了提升使用者體驗,畢竟好幾秒鐘可以乾點別的。但window並沒有這樣的需求,電腦螢幕大的多,多視窗是基本操作,所以一直真實表現。其實安卓早期也和window一樣,但隨著軟體越來越大,在4.4和5.0時代因為安裝解除安裝慢飽受詬病,所以後來才改成蘋果一樣!
-
4 # 犍為真人
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所產生的垃圾檔案,不過按照安卓的慣例,數量都不多。
再看Windows,那檔案就多了,一堆dll,一堆資原始檔,還要對登錄檔進行逐一清理。
我們再看看為什麼刪除一個大型檔案很快,哪怕是1個G甚至幾十G都用不了1秒?這在安卓和Windows上都同樣適用,刪除單個檔案都快。因為刪除檔案的時候並沒有徹底把檔案清零,而僅僅是把這個檔案的佔用區域做一個標記,標記為“已刪除”。徹底刪除大家在Windows上聽說過,叫“粉碎”,一些第三方軟體(360等)有這個功能。相反,如過刪除的檔案很多,則時間還是比較長的,積少成多嘛。因為標記為“已刪除”也需要花一點時間的。而刪除的時間長短主要取決於檔案的個數,而不是檔案的總大小。比如如果刪除一個檔案要1秒鐘,那麼3600個檔案就要1小時(例子有點誇張)。安卓總共就一個檔案,自然就快了。
-
5 # 極客談科技
電腦普遍使用Windows系統,通過EXE檔案的方式進行安裝軟體,解除安裝則相反執行;
手機端安卓系統基於Linux系統,Linux系統使用樹形結構,一般使用的是掛載式安裝。
Windows系統安裝檔案方式電腦安裝軟體一般是下載應用程式的EXE檔案,並且雙擊EXE檔案實現安裝。
安裝程式按照已經排列好的結構和目錄解壓實現檔案的安裝;
並將檔案的資訊寫入到系統的登錄檔,登錄檔是程式能否正常使用重要的一環。
登錄檔相當系統的一個數據庫,記錄了系統以及使用者的大量資訊;
Linux系統安裝檔案的方式手機基於Linux系統開發而來,這裡僅僅闡述Linux系統。
Linux系統與Windows系統不同,使用樹形結構,並未Windows的目錄式結構;
Linux系統安裝檔案與Windows系統也不同,通過掛載的方式進行安裝。
關於電腦與手機之間解除安裝軟體之間的差異,您怎麼看?
-
6 # 三叉戟看科技
前面的朋友回答的很詳細,但我要補充一些同樣原因和技術背景的不同表現,和一些系統背後的開發思路分析。
不僅是這樣,你可以還會注意到:
手機安裝一個App比解除安裝速度更快,無論iOS蘋果還是Android安卓。
Windows電腦解除安裝軟體的速度,比Mac/Linux電腦作業系統解除安裝軟體的速度慢多了。
這背後的理由是類似的。
01Linux/Unix/MacOS/iOS/Android的設計理念對安裝/解除安裝的設計對於Linux/Unix/MacOS/iOS/Android的所有版本——不管是電腦/手機/Pad/甚至是樹莓派,安裝和解除安裝程式或應用程式都非常快捷簡單。
02Windows系統的設計理念,比較複雜Windows在這方面是獨一無二的,實際上可以稱其為缺陷,或Windows致命弱點。 Windows使用一種稱為“登錄檔”的複雜管理模型,來把DLL動態連結庫將程式檔案和程式所需的資源捆綁在一起——比如,確定程式可以開啟哪些檔案等等。
簡而言之…在Windows上安裝程式涉及到進行條目和調整以及新檔案和關聯。
相反,Windows具有悠久的歷史,安裝/解除安裝過程根本不是標準的——很多很靈活的實現方法。
甚至可以僅在複製exe檔案的情況下在Windows上執行應用程式——對一些簡單的程式應用。
-
7 # V那個9
很多朋友回答的很專業,在我看來其實是各系統解除安裝(包括安裝)的機制。最煩心的是win系統只要不是綠色軟體,那麼軟體會在系統各位置拷貝了很多東西,並且註冊DLL,並且可能在系統程序中注入等等等等亂七八糟的一大坨東西在各位置東躲西藏。
如果需要解除安裝,那麼先要從中止注入在系統程序中的執行緒,解除安裝註冊的DLL,還有刪除和還原登錄檔中的項,歷史記錄,臨時檔案等等等等,最後才刪除軟體本體和快取檔案(這個還不一定刪)加上一些偷偷摸摸安裝上的東西遮蔽等,加上很多軟體不是刪除資料夾,而是逐個檔案刪除,還特意保留了一些檔案,加上win系統的檔案管理天生不足(比如你開啟一個有幾千上個檔案的資料夾,會很慢)所以解除安裝過程變得很慢。
而mac端大部分app都算是綠色軟體,直接刪除應用資料夾就可以了(他的應用就是個資料夾),當然如果深入刪除,需要刪除快取資料夾。還可能存在一些配置檔案,不刪除也對系統沒任何影響,也非常小,就是個文字檔案。
而ios端更簡單 因為沙箱的機制限制(mac也有,但是 mac可以允許突破沙箱,ios不允許),解除安裝過程只用殺死程序後,刪除應用的檔案,(它的東西都在這裡)和系統資料庫(類似win的登錄檔)中對應的專案(寫入和山粗是系統自動配置,不允許人工配置 和注 冊表不同,開發過程中無法在任意位置中寫入資料)。安卓不太清楚 好像是一樣的。
所以,目前幾個主流系統中,除了win系統,都可以秒刪 這個和安全機制有關,
回覆列表
手機解除安裝看似兩三秒就把很大的遊戲比如王者吃雞遊戲解除安裝了,看著快是因為手機安裝的軟體是有一個安裝包和安裝包解壓後的一些可執行檔案以及一大堆媒體資料,解除安裝時只要把這些對應的檔案在檔案系統內的的索引節點進行擦除就可以了,不需要真的對快閃記憶體進行大量的擦寫,安裝時才需要對快閃記憶體進行大量擦寫,所以手機是安裝慢解除安裝快。
而電腦Windows下不管是安裝還是解除安裝都挺慢的,安裝遊戲的話,進度條更是慢的出奇,總是在進行各種檔案抽取操作,而且且CPU佔用都不到10%。
解除安裝時更奇怪有的軟體解除安裝時用的時間比安裝還要多,一般像p2p加速器捆綁下載下來自動安裝的流氓軟體就是這模樣的,在解除安裝這種軟體時確實會慢點,但主要的是用軟體自帶的解除安裝程式時在解除安裝完成時還會有和各種提示說要不要保留資料,留下寶貴意見什麼的。
要是一直不去處理這個彈框,這個程式就一直處於正在解除安裝狀態,尤其是用安全管理軟體批量解除安裝時,總是處於解除安裝中,除非手動把彈框掉掉才算解除安裝完成。