超好的包體積優(yōu)化教程校读,不僅僅是優(yōu)化沼侣!

作者:yechaoa

市面上有很多優(yōu)化方案,但是都沒有一個完整的鏈路體系歉秫,現(xiàn)在它來了华临,本文將帶你進階新高度,不管是面試端考、績效KPI雅潭,還是匯報宣講,都能讓你游刃有余却特!

前置必讀:

Android包體積優(yōu)化(常規(guī)扶供、進階、極致)

涵蓋各階段全面的優(yōu)化方案裂明。

注意本文更偏向于方法論和規(guī)劃能力椿浓,重點傾向于如何做好一個技術topic,如果單純的想看技術方案,可以搜索前置必讀扳碍。

一提岔、背景

  • 提升下載轉化率
  • ...
  • 提升更新率,這個是鮮有人提到的笋敞,二次下載同樣重要碱蒙,它能推動業(yè)務快速落地。

二夯巷、現(xiàn)狀

  • 最新版本?MB赛惩,突破80大關?100大關趁餐?競對喷兼?
  • 近6個月平均每個月增速?MB
  • 近6個月平均每個版本更新周期(7天?10天后雷?)

輸出報表

三季惯、目標

減少30MB & 降低30%

四、現(xiàn)狀具體分析

  1. 圖片占比15%
  2. 代碼占比25%
  3. so文件50%
  4. 其他10%

結合項目分析臀突,輸出每項占比背后的具體因素(設計花哨勉抓?業(yè)務復雜?架構合理惧辈?)

輸出餅圖

五、優(yōu)化思路

  1. 壓縮參與打包的文件
  2. 減少參與打包的文件

六磕瓷、規(guī)劃思考

  1. 如何保證穩(wěn)定性盒齿?
  2. 如何長效治理?

站在更高的角度去思考問題

七困食、里程碑

  1. 信息公示
  2. 確保進度穩(wěn)中推進
  3. 有風險及時尋求資源支持

八边翁、抓手

  • Android Studio
  • ApkChecker
  • ClassShark
  • ...
  • 產(chǎn)出具有項目特色的工具

九、技術大圖

匯報示例

十硕盹、圖片優(yōu)化

手動 -> 腳本

十一符匾、代碼優(yōu)化

十二、遠程so

需要熟悉打包流程瘩例,知道Gradle的各種Task執(zhí)行在干什么事啊胶。

打包階段,在合并apk之前垛贤,把需要遠程的so文件上傳至遠端焰坪,然后剔除掉。

Flutter的so遠程這方面沒啥資料聘惦,提一下某饰,源碼搜一下FlutterLoader,繼承FlutterLoader重寫startInitialization,原理就是干預原有的so文件加載路徑黔漂。

12.1 下載流程

沉淀通用的下載SDK

  1. 網(wǎng)絡狀態(tài)管理
  2. 下載任務優(yōu)先級調度
  3. 斷點續(xù)傳
  4. ...
  • 12.1.1 啟動下載(閑時)

閑時下載:用戶是無感知的诫尽,即使失敗,也不需要交互形式表現(xiàn)炬守。

  • 12.1.2 按需下載

按需下載:下載流程與閑時下載一樣牧嫉,但交互表現(xiàn)形式不一樣,需要讓用戶感知你在干什么劳较、什么進度驹止,提供一個loading頁承載。

自檢:不一定是我們代碼的問題观蜗,可能是用戶網(wǎng)絡不可用臊恋、存儲不夠等

十三、測試

  1. 兼容性:android 5.0-12.0
  2. 是否重復下載墓捻、是否可用(32/64)
  3. 斷網(wǎng)抖仅、弱網(wǎng)
  4. 覆蓋安裝
  5. 前臺退后臺
  6. ...

十四、監(jiān)控告警

14.1 埋點

  1. success
  2. error code/message
  3. so name
  4. retry
  5. demotion
  6. storage size
  7. download type
  8. download time
  9. 設備信息
  10. 網(wǎng)絡信息
  11. 用戶信息
  12. ...

14.2 監(jiān)控

  1. 下載成功率
  2. load成功率
  3. loading頁打開成功率
  4. ...

14.3 告警

砖第?分鐘撤卢?次失敗

告警形式包括但不限于釘釘群、微信群梧兼、短信放吩、電話等。

14.4 排障

  1. 排障指南
  2. 數(shù)據(jù)庫底表查詢sql

十五羽杰、長效治理

打包后置卡口的設計原理:

  1. 打包過程中會對資源文件渡紫、代碼文件、jar/aar等文件進行合并考赛,既然知道有哪些文件惕澎,就可以知道這些文件的大小,就可以輸出一個file size的文件作為當前版本的基線颜骤。
  2. 閾值配置信息可寫死唧喉,可配置。

十六忍抽、結果

  • 優(yōu)化前八孝、優(yōu)化后對比
  • 競對 對比
  • 下載時間對比
  • 安裝時間對比
  • ...

輸出報表

十七、未來規(guī)劃

  1. 白名單 logo鸠项?
  2. 沉淀方法論唆阿?
  3. 流程工具化、智能化锈锤?
  4. 月度報告驯鳖?
  5. 數(shù)據(jù)大盤闲询?
  6. ...

十八、價值&意義

  1. 技術:沉淀通用組件浅辙?創(chuàng)新flutter扭弧?
  2. 團隊:影響力?
  3. 公司:減少帶寬记舆,全年節(jié)矢肽怼?W經(jīng)費
  4. 用戶:下載時間減少泽腮?安裝時間減少御蒲?
  5. 社會:每次下載減少?M流量诊赊,全年節(jié)省流量厚满?億
  6. ...

十九、思考

  1. 需要做到極致嗎碧磅?理論上啟動非必須的圖片碘箍、文件、so都是可以遠程的鲸郊。(減肥是要越瘦越好嗎丰榴?)
  2. 極簡包?

二十秆撮、面試問題

  1. 為什么選用tinypng四濒,原理是什么削解,還有其他方案嗎你画?
  2. 遠程so的選定標準是什么?
  3. 支持斷點續(xù)傳嗎晃琳?
  4. 會重復下載嗎拨匆?
  5. 下載可以根據(jù)網(wǎng)絡選擇嗎姆涩?
  6. 有文件完整性校驗嗎挽拂?
  7. 有下載優(yōu)先級嗎惭每?
  8. 怎么避免64位設備下到32位so文件?
  9. so文件更新之后會在設備上與老的版本共存嗎亏栈?
  10. 兜底方案是什么台腥?
  11. 還有哪些可以優(yōu)化的地方?
  12. ...

最后

  1. 頂級廚師在線烹飪绒北,做好了自己吃黎侈,不負責喂
  2. 多思考,深度思考闷游,可以夢到的那種
  3. 多搞點花樣峻汉,多體現(xiàn)個人部分贴汪,即使沒有技術深度
  4. 角色轉換,個人休吠、團隊扳埂、產(chǎn)品、拉新運營瘤礁、用戶阳懂、公司、社會...
  5. 技術價值柜思、業(yè)務價值
  6. 別忘了三連 ~

不太喜歡理論岩调,更喜歡實際操作的,可以搜索查看赡盘,但是還是建議大家培養(yǎng)一些規(guī)劃類思維号枕,畢竟往上走,總有一天是需要出規(guī)劃和做一些管理的事情的亡脑。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末堕澄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子霉咨,更是在濱河造成了極大的恐慌蛙紫,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件途戒,死亡現(xiàn)場離奇詭異坑傅,居然都是意外死亡,警方通過查閱死者的電腦和手機喷斋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門唁毒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人星爪,你說我怎么就攤上這事浆西。” “怎么了顽腾?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵近零,是天一觀的道長。 經(jīng)常有香客問我抄肖,道長久信,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任漓摩,我火速辦了婚禮裙士,結果婚禮上,老公的妹妹穿的比我還像新娘管毙。我一直安慰自己腿椎,他們只是感情好桌硫,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啃炸,像睡著了一般鞍泉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肮帐,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天咖驮,我揣著相機與錄音,去河邊找鬼训枢。 笑死托修,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的恒界。 我是一名探鬼主播睦刃,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼十酣!你這毒婦竟也來了涩拙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤耸采,失蹤者是張志新(化名)和其女友劉穎兴泥,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虾宇,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡搓彻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嘱朽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旭贬。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搪泳,靈堂內(nèi)的尸體忽然破棺而出稀轨,到底是詐尸還是另有隱情,我是刑警寧澤岸军,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布奋刽,位于F島的核電站,受9級特大地震影響凛膏,放射性物質發(fā)生泄漏杨名。R本人自食惡果不足惜脏榆,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一猖毫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧须喂,春花似錦吁断、人聲如沸趁蕊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掷伙。三九已至,卻和暖如春又兵,著一層夾襖步出監(jiān)牢的瞬間任柜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工沛厨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宙地,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓逆皮,卻偏偏與公主長得像宅粥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子电谣,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容