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

對於以前兩篇Flutter分別與iOS原生以及React Native對比的文章, 許多讀者留下了本身的見解和思路. 可是也有部分讀者發來了不一樣的聲音, 主要集中在Flutter安裝包大小和流暢度上. 我抽空作了下測試, 下面是個人測試結果.markdown

安裝包大小

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

(做者表示也摸不着頭腦啊🤷‍♂️)

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

我猜測網友多是經過打本地AD Hoc包得出的不一樣結論, 因而我也嘗試打一個本地包, 結果....
emmmmmm.......

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

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

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

另外要說的一點是, 我目前所作的測試都是以iOS平臺爲基準, 並無加入安卓平臺. 安卓平臺根據網友發來的測試, 安裝包要明顯小於iOS平臺, 這是由於Flutter的部分框架自己就集成在安卓系統中, 並且Fuchsia一定會直接內置Flutter SDK, 屆時兩個平臺的差距將會更大.code

流暢度

至於流暢度, 不少網友認爲Flutter的流暢度沒有我測試結果那麼不堪, 認爲我一樣使用了Debug模式用於測試. 因爲每一個人對於流暢度的感知靈敏度是不同的, 所以我除了提出了我我的的主觀感覺以外, 還提供了Xcode的幀率記錄圖表. 此外, 我還將原生和Flutter項目上傳至了App Store和GitHub, 你們能夠方便的下載到本身的設備中去嘗試體驗.orm

可是我仍是須要代表個人觀點: 至少目前來看, Flutter在iOS平臺的流暢度, 沒有徹底達到iOS原生應用, 也沒有徹底達到它所宣稱的60幀.ip

若是有任何疑問歡迎在下方留言.get

相關文章
相關標籤/搜索