為什麼flyme4的刷機包比MIUI6的大這麼多?

最近的flyme4給MX4通用版的固件大概是770多兆,MIUI6給米4的大概是360多兆

是什麼原因造成flyme是MIUI的兩倍還多?


首先由於代碼原因而造成的文件大小差別其實是很小很小的,內置第三方應用也不是關鍵,MIUI內置應用比Flyme還多呢,主要是多媒體數據佔了大頭,圖片、影音等等,為了適應更多地使用場景,Android開發中常常需要給圖片準備好幾個尺寸。

其實深究的話也體現了兩個團隊開發實力和態度理念上的差異。MIUI更善於利用網路,WebApp在MIUI上更普及,本地只有簡單的布局文件和邏輯處理代碼,可以節省大量空間。邏輯上這種形式實現起來並不難,但是背後所需要的是強大穩定的雲服務基礎以及豐富多樣可定製的第三方服務,這是需要買買買、談談談的,不是一朝一夕能搭建起來的。

另外ROM本身,MIUI已經基本全面轉為以WebP格式獲取圖片,這是Google開發的新的圖片壓縮格式,比現有的JPG、PNG等格式可節省20%~50%文件體積。


修改了下排版,兩個固件對比放在最後面

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

安卓本身的核心代碼很少,幾十M的樣子吧,其他空間基本都是各種素材。

其實我也想不大通,flyme4感覺也沒有什麼地方很耗費素材的

翻了翻MX3的過往固件,flyme3在400-500m左右,到了flyme4就劇增到600M,馬上就要突破700M了,再對比下flyme for S4,G2等,也都是三四百M的樣子

我個人的解釋就是MX系列對安卓的操作邏輯修改很多,加上魅族本身針對性優化水平有限,對安卓內核沒辦法做到足夠精簡導致的。

PS:手上的MX3還沒有root,要是有root了的機油可以看看system分區的存儲佔用,跟MIUI或者親兒子的對比一下應該就很容易發現差別了

PS2:突然想到可以直接下固件看,先佔坑,待會更新

PS3:那個什麼奧薩馬的,求別逗了,學過編程的應該就知道,代碼長度和代碼執行效率完全是兩碼事,用固件大小來吐槽flyme臃腫也是醉了

PS4:為何flyme體驗確實不如MIUI?除了一些功能上flyme追求精簡外,對安卓操作邏輯的大範圍修改也是一個原因,楊顏顯然不是安卓開發者出身,手下的團隊也基本可以確定比不上MIUI的開發團隊(應該是更缺少懂安卓內核的大神級人物),在對內核沒有完全吃透的情況下去大幅度修改內核本身就是一個不大穩妥的事,flyme4 for MX3出現的那些老問題什麼的我估計魅族自己也很頭痛,之前升級3.7的時候就開始的問題到現在都還沒解決,估計就是內核級別的BUG

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

米4的最新固件已下好,先簡單看看大小

壓縮包解壓後是560M

NON-HLOS.bin我查了查是基帶鏡像,50M,第二個是bootloader的文件,類似於電腦的BIOS,後面那些MBN文件貌似是高通的SoC用的東西,簡單查了查好像跟開機有什麼關係來著,這裡就不深究了。

data分區22.1M

system分區472M

其他兩個文件夾在新系統中可認為沒有文件,實際上也就是幾百K,就忽略了。

data分區里有個MIUI OTA的app,黃頁的數據文件,壁紙的資料庫(我沒有研究過ROM不大很懂為啥要用資料庫),還有一個貌似是MTP的驅動。沒有其他預裝app

system分區里的app(55M+74M)我看了看都是雷軍系的軟體+系統必須組件(這裡贊一下MIUI還是遵循了安卓4.4的開發規範的,系統核心應用放在priv-app文件夾里);bin(11M)是一些二進位文件庫,一般的ROM廠商都不大敢修改;etc(16M)是系統核心配置文件,沒什麼好說的;fonts(28M)文件字型檔,存字體之類的,所以一些第三方修改字體的軟體一般要求root許可權;framework(21M)安卓的核心框架,沒啥好說;lib(144M)系統底層庫,這個我沒啥研究,求大神解答;media(26M)就是各種圖片音頻;usr(19M)各種用戶的配置文件,wifi密碼之類的;tts(6M)語音助手之類的;vendor(75M)應該是MIUI自己對安卓的修改內容,具體改按鈕樣式之類的;xbin(0.5M)這個我之前沒見到過,查了下好像是跟系統許可權有關,暫且這麼理解吧。

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

flyme的固件是MX4通用版最新的體驗版固件,解壓後1.13G.........

很驚奇誒,flyme沒有data分區,不過我找到這麼一個東西

對,推廣,不過既然可以卸載那就不吐槽了,這裡就100M了,客官們看著辦吧。。。

總體差不多

在system分區里,app(277+190.。。。。尼瑪。。。。)魅族同樣遵循了安卓4.4的開發規範,核心應用都放在priv-app中

bin(34M)etc(37M)fonts(44M)lib(163M)framework(140M)media(38M)vendor(33.5M)usr(19M)tts(6M)xbin(0.7M)

其他的

customizecenter(47M)這個是魅族的主題,有個槽點待會說

mobile_toolkit(12M)貌似是MTP驅動

各位看到了吧,一目了然

暫時先說這個,我再琢磨琢磨裡面的區別

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

再看看裡面的內容,可以發現flyme中多了很多ODEX文件,相關知識各位可以轉到一鍵odex合併與分解。。。 了解一下,總之就是flyme因為odex化了所以這部分的空間佔用比較大,兩者各有優劣,不評價,不過魅族的功能少了很多則是不爭的事實。

魅族更少的項目用了更大的空間。。。。。。

差距主要在最上面那幾個,我查了查都是linux的網路相關命令

我猜測是前面MIUI的基帶信息已經集成了這些內容了,不過得靠大神確認。

etc裡面的項目太多了就不貼圖了。。。大致情況就是MIUI項目更多,但是空間更少,flyme有幾項空間很大,大致也是網路相關的,難道高通大法好?。。。。。。。。。。

其他都差不多,差距不大,就不贅述了

差不多就這些了,差距主要在內置app,一共500M的差距這裡就差不多400了,flyme因為odex化了導致存儲空間劇增,加上疑似是魅族的基帶相關的整合不足導致有些項目的空間很大,其他地方的差距基本忽略


直白點:魅族的技術差唄,差的不是一點兩點。

直接體現就是固件大!

刷完之後都覺得手機重了好多!?_?

利益相關:MX2官翻版小白用戶-_^

———————————————————————

不小心把聯通加到了簡訊攔截黑名單,想從黑名單刪除都不行,每次點 用戶黑名單 都會停止運行。快得來不及截屏。

好幾個版本了,一直沒修復。


臃腫的代碼,無能的攻城屍

用兩倍的體積實現更少的功能,更差的體驗

我也是醉了

不要跟我說有本事你來

我沒本事所以我只能做到不買


ios的不比這個還大嗎?


我猜想是flyme 4里添加了太多以前3裡面沒有的功能,比如安全中心,遊戲中心等,雖然miui 也有,但畢竟是flyme 近期剛剛添加,在系統內部的整合上,肯定沒有小米做得好,所以初期有些大應該可以諒解,期待以後更好的整合。純粹猜想。

利益相關:前mx 2用戶,現iPhone 6用戶。


推薦閱讀:

從 iPhone QQ 到 Flyme,偏執的設計鬼才陳希
魅藍手機flyme如何設置日語等其他語言
魅族PRO7:天堂向左,地獄向右
flyme團隊有哪些大牛呢?
如何評價 Flyme 6?

TAG:魅族科技 | Flyme |