為何android應用的安裝文件體積這麼大?

非IT行業人士求教。

一個普通的android應用APK包,體積動輒20MB甚至30+MB。

這是android平台上要實現一個並不算非常複雜需求,需要的代碼量更複雜還是什麼原因?

對比

Windows上專業的三維建模軟體 Blender,能實現3D建模,貼圖繪製,3D渲染,動畫錄製,音頻處理,視頻剪輯等功能,同時提供多種模式UI,安裝包體積只有51MB。

Windows上專業級圖像處理軟體GIMP,安裝包體積只有86MB,能實現相當複雜濾鏡命令和各種高級功能。

很多經典的Windows軟體能夠實現更多更複雜更強大的功能,更豐富的UI,安裝包體積都沒有大的體積。

我覺得應用的UI做到類似Foobar2000體驗就足夠好了啊


因為你把APK解壓後可以看到一個叫res的目錄長這個樣子

Android的APK文件大都是大在那幾個名字裡帶drawable的目錄上

適配所有機器和屏幕的圖片素材和其他資源都在一個安裝包里,肯定大啊

如果界面做得超簡單,純色啊均勻漸變

完全不使用圖片資源,全用XML和canvas

或者直接用自帶的Theme風格

二三十MB的APK直接減肥到10MB甚至更小也不是不可能說白了,覺得做得功能不多,APK就很大

是因為你花了很多力氣在UI而不是功能上

這大概也是桌面專業應用和移動娛樂應用的差別

桌面專業應用經歷這麼多年篩選和競爭,能留下的都是能解決問題的

移動平台上的應用因為設計師和PM的引導,注意力都放在「體驗」上了

看不到問題也解決不了問題只能鼓搗界面上這點東西了,所以才這樣~


首先APK文件並沒有動輒20,30M大小.我隨便找了個市場統計了一下(酷安關注榜前100),0-4.9M有44個,5-9.9M有24個,10-19.9M有19,20M+有13個.

------------------------------------------------------------------------------------------------------------------

不過APK佔用空間大也是存在的,究其原因有

1.手機系統注重UI,點對點效果最好,加之適配多個解析度,.

2.APK中的代碼是classes.dex,這是java的中間代碼,比之windows程序編譯後的二進位代碼效率低,佔用大.

3.window運行環境替程序完成了很多任務,這部分沒有算到程序的大小中.包括不限於:directX,C++ Redistributable Packages,.net framework.(用C#給表弟做的畢業設計,編譯完僅僅20kb......)


因為縮小體積是需要付出無限的精力的。軟體給你你又不給錢,而且現在網速又不慢,大家的手機套餐也動不動上G,為什麼還要想辦法縮小體積?


運算的部分其實不大,大的是各種圖。

我之前手上有個app,光歡迎頁就5M,整個軟體9M 。反正大家不差這麼點流量。我們就懶得弄了

另外太小了像病毒,這年頭小於5M的軟體你敢裝不


為了迎合各種解析度準備了各種不同的圖片資源,冗餘度非常大。可行的辦法是根據不同那個的解析度分別編譯,然後google官方市場自動下載相對應的apk(如果有這樣的功能的話),這樣可以大幅減小體積。800x480的屏幕就不要去折騰720P的資源了


不知道題主在讀電子書的時候,發現沒有。有的pdf只有幾個m,有的幾十m。前者儲存的是文字,而後者是圖片。


Adobe reader 11.0.10,80.8 MB,能實現……看pdf文件……大哥你想怎樣?

另外APK包里的代碼未必很長,20MB沒準有10MB是素材,現在解析度高了,素材自然大


圖片大,純代碼你小時候聽英語磁帶都能放的下。

你列舉windows 應用小是因為應用界面大量使用繼承系統界面,即使這樣,大部分還是圖片等佔了大量空間,你說的那麼多.."濾鏡"可能只是幾個參數而已。


你該看看ios就知道安卓的還算小了,各大毒瘤畢竟還有各種圖片素材,你看小應用的安裝包里素材都不多


質 != 量,同時也不成反比。


外部類庫為桌面程序提供了幫助。

以前看過一段小遊戲依賴DX做3d效果,自身只有幾百K。

順便瞎扯一句,相比android,ios是不是更大。。。


android版GIMP的APK是14MB但要額外下載270MB的資料 https://play.google.com/store/apps/details?id=org.gimp.inkscape


一般都是大公司的產品,我個人覺得代碼編譯後的體積並不算大相對於圖片來說,安卓設備解析度參差不齊適配的界面元素需要很多套,因此就大了。

apk實質是zip所以壓縮等級有區別,win上的程序安裝包比apk小,說不定安裝後就是安卓上的好幾倍了。


推薦閱讀:

windows為什麼不把所有系統文件都放在一個文件夾內?
為什麼智能手機的主流操作系統系統普遍傾向於弱化文件管理功能?
Linux用戶如何反擊Windows用戶?
Windows 10 上有哪些類似 Fences 的桌面整理軟體?
關鍵錯誤,開始菜單和cortana無法工作,註銷重新登錄我們會修復此問題?

TAG:軟體 | MicrosoftWindows | 操作系統 | 谷歌Google | Android |