關於Flutter iOS安裝包大小的解讀

關於Flutter iOS安裝包大小的解讀

4 人贊了文章

對於之前兩篇Flutter分別與iOS原生以及React Native對比的文章, 許多讀者留下了自己的看法和思路. 但是也有部分讀者發來了不同的聲音, 主要集中在Flutter安裝包大小和流暢度上. 我抽空做了下測試, 下面是我的測試結果.

安裝包大小

部分讀者提出, 他們打完的release包只有6~7MB, 和我提供的數據相差特別大, 認為我並沒有使用release包而是使用了debug包做對比.

(作者表示也摸不著頭腦啊???♂?)

起初我也是很奇怪, 反覆確認了自己的包是release無疑後, 嘗試思考其他方向. 我之前的安裝包數據都是直接發布到App Store, 經由App Store雲端編譯後的版本.

我猜想網友可能是通過打本地AD Hoc包得出的不同結論, 於是我也嘗試打一個本地包, 結果....

emmmmmm.......

看來出現偏差的地方找到了, 但是為什麼雲端編譯的大小和本地包的差別這麼大呢? 我又測試了一下原生應用的情況, 發現本地包和雲端編譯包的大小几乎沒有區別.

那麼會不會是Flutter應用不同的打包方式, 包的內容不一樣呢? 我嘗試分別解包兩個ipa, 結果發現包裡面的內容竟然沒有區別, 而且, 解壓後的兩個包的大小也完全一樣.

結論可能就是, 兩種打包方式的壓縮比不一樣? 但是有一點是可以確認的, 就是不管是什麼打包方式, 最後安裝到手機上的磁碟佔用大小是一樣的, 都是30MB+. 因此, 我得到的這個結果解釋了部分網友的疑惑, 也印證了我之前對於Flutter應用的分析和判斷是沒有問題的.

另外要說的一點是, 我目前所做的測試都是以iOS平台為基準, 並沒有加入安卓平台. 安卓平台根據網友發來的測試, 安裝包要明顯小於iOS平台, 這是因為Flutter的部分框架本身就集成在安卓系統中, 而且Fuchsia必定會直接內置Flutter SDK, 屆時兩個平台的差距將會更大.

流暢度

至於流暢度, 很多網友認為Flutter的流暢度沒有我測試結果那麼不堪, 認為我同樣使用了Debug模式用於測試. 由於每個人對於流暢度的感知靈敏度是不一樣的, 因此我除了提出了我個人的主觀感受之外, 還提供了Xcode的幀率記錄圖表. 此外, 我還將原生和Flutter項目上傳至了App Store和GitHub, 大家可以方便的下載到自己的設備中去嘗試體驗.

但是我還是需要表明我的觀點: 至少目前來看, Flutter在iOS平台的流暢度, 沒有完全達到iOS原生應用, 也沒有完全達到它所宣稱的60幀.

如果有任何疑問歡迎在下方留言.

作者:ZacJi

鏈接:juejin.im/post/5b2c72ad

來源:掘金

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。


推薦閱讀:

一文看盡 Google I/O 大會
理解Android中WebView相關的幾個概念
提升Android下內存的使用意識和排查能力
如何在電腦上下載Google play上的應用?
通過 Bochs 讓高性能的 Android 手機流暢運行 Windows 虛擬機是否可行?

TAG:Android | 交互設計 | Flutter |