多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術(shù) > 老司機談APK瘦身套路-項目優(yōu)化篇

老司機談APK瘦身套路-項目優(yōu)化篇

來源:程序員人生   發(fā)布時間:2016-07-21 08:46:21 閱讀次數(shù):2889次

       在上1篇文章中,老司機帶領(lǐng)大家1起學(xué)習(xí)了圖片資源的瘦身套路,收到了很多中學(xué)生讀者的好評。
想了解的童鞋請點擊:http://blog.csdn.net/mynameishuangshuai/article/details/51752832
       這次,老司機繼續(xù)開車,給大家分享APK瘦身套路之項目優(yōu)化篇。為了更好的跟大家說明瘦身套路,我把優(yōu)化分為項目結(jié)構(gòu)瘦身和代碼瘦身兩部份。

這里寫圖片描述

1.項目結(jié)構(gòu)瘦身套路

套路1:引入庫的優(yōu)化

  • 去掉無用的庫

       項目中如果apk支持的最低版本是API14,而代碼中沒有用到高于api14的api就能夠斟酌去掉全部android support庫。

  • 最小化集SDK

       很多小火伴在項目中都引入了友盟工具,但是很多時候我們常常只需要友盟分享,那末我們可以把項目引入的友盟推送去掉,只集成友盟分享SDK,已到達精簡的目的。

套路2:Gradle優(yōu)化配置

  • 使用minifyEnabled配置混淆代碼

       使用AndroidStudio開發(fā)的小火伴,可以在gradle利用minifyEnabled進行Proguard混淆的配置,這么做可以大大減小APP大小:

android { buildTypes { release { minifyEnabled true } } }

在proguard中,是不是保存符號表對APP的大小是有顯著的影響的,可酌情不保存,但是建議盡可能保存用于調(diào)試。

  • 使用shrinkResources配置去除無用資源

       使用AndroidStudio開發(fā)的小火伴,可以在gradle利用shrinkResources去除無用資源,效果很棒。

android { buildTypes { release { shrinkResources true } } }
  • 使用語言配置,去除過剩的語言支持

           使用AndroidStudio開發(fā)的小火伴,可以在gradle中精簡語言配置,比如國內(nèi)利用之配置支持中午,不需要其他國際化的幾10種語言支持。

android { defaultConfig { resConfigs"zh" } }

套路3:謹慎處理項目中的so

  • 刪除armable-v7包下的so

       基本上armable的so也是兼容armable-v7的,armable-v7a的庫會對圖形渲染方面有很大的改進,如果沒有這方面的要求,可以精簡。這里不排除有極少數(shù)裝備會Crash,可能和不同的so有1定的關(guān)系,請大家務(wù)必測試周全后再發(fā)布。

  • 刪除x86包下的so

       x86包下的so在x86型號的手機是需要的,如果產(chǎn)品沒用這方面的要求也能夠精簡。建議實際工作的配置是只保存armable、armable-x86下的so文件,算是1個折衷的方案。

套路4:利用微信資源緊縮打包工具

       微信中的資源混淆工具主要為了混淆資源ID長度(例如將res/drawable/welcome.png混淆為r/s/a.png),同時利用7z深度緊縮,大大減少了安裝包體積,同時也增加了逼格,提升了反破解難度。
使用說明:微信資源緊縮打包工具使用介紹
技術(shù)原理介紹:安裝包立減1M–微信Android資源混淆打包工具
這里寫圖片描述

2.代碼瘦身套路

套路1:清算掉廢棄代碼

       項目打包前仔細核對檢查源碼,刪除無用的邏輯代碼、過期的業(yè)務(wù)功能代碼、過剩的注釋代碼和廢棄的test代碼。

套路2:有條件的項目使用插件化開發(fā)

       針對有條件的企業(yè),將來可以將自己的利用分拆,某些功能可以以產(chǎn)檢的情勢動態(tài)加載實現(xiàn),用到時再進行云端下載。動態(tài)加載插件化技術(shù)無疑從根本上減少了apk的體積,但是引入這個技術(shù)是有代價的,增加了項目的保護難度和開發(fā)難度。所以該技術(shù)適用于大型的移動利用,當你的業(yè)務(wù)大到不分開模塊難以高效力開發(fā)保護的時候,再斟酌動態(tài)加載技術(shù)吧,否則如果小范圍利用,還是老老實實斟酌傳統(tǒng)的android官方推薦的開發(fā)方式。下面推薦幾個比較好的動態(tài)加載開源框架項目供大家學(xué)習(xí)

dynamic-load-apk 360DroidPlugin

套路3:使用HTML5進行界面開發(fā)

       項目中針對新聞、咨詢類需求的詳情頁,可使用HTML5進行開發(fā),這樣可以大大減少使用原生控件開發(fā)帶來的額外空間開消。

套路4:提高代碼質(zhì)量

  • 使用Eclipse的小火伴利用好FindBugs

       Findbugs是1個開源的eclipse 代碼檢查工具;它可以簡單高效全面地幫助我們發(fā)現(xiàn)程序代碼中存在的bug,bad smell,和潛伏隱患。針對各種問題,它并且提供了簡單的修改意見供我們重構(gòu)時進行參考; 通過使用它,可以1定程度上下降我們code review的工作量,并且會提高review效力。 通過findbugs找到bug,再由我們自己重構(gòu)代碼,可以培養(yǎng)我們的編碼意識及水平,構(gòu)成好的習(xí)慣提高開發(fā)編碼能力。

  • 使用AndroidStudio的小火伴利用好Lint

       Lint通過對Android工程源代碼進行掃描和檢查,可發(fā)現(xiàn)潛伏的問題,以便程序員盡早修正這個問題,比如:

布局性能(之前是 layoutopt工具,可以解決無用布局、嵌套太多、布局太多) 未使用到資源 不1致的數(shù)組大小 國際化問題(硬編碼) 圖標的問題(重復(fù)的圖標,毛病的大小) 可用性問題(如不指定的文本字段的輸入型) manifest文件的毛病

總結(jié)

至此,老司機談APK瘦身套路系列文章已完結(jié),相信已上車的小火伴都能很好地掌握APK的瘦身方法,選擇合適自己項目的套路,相信你的APK定會瘦身成功。

參考鏈接:
http://www.cnblogs.com/soaringEveryday/p/5254520.html




安卓開發(fā)高級技術(shù)交換QQ群:108721298 歡迎入群

微信公眾號:mobilesafehome

(本公眾號支持投票)

Android安全技術(shù)大本營

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日本护士做xxxxxx视频 | 人阁色第四影院在线观看 | 国产亚洲精品久久久久久无 | 日韩 欧美 自拍 在线 视频 | 国产免费v片在线看 | 久久国产精品免费一区二区三区 | 欧美肥老太肥50 60 70 | 亚洲精品国产啊女成拍色拍 | 国产精品亚洲综合一区在线观看 | japan色系videos强行 | 国产欧美另类性视频 | 国产a在亚洲线播放 | 性欧美xxxx视频 | 日韩欧美亚洲在线 | 国内精品视频 | 一级做a爰片性色毛片视频图片 | 一二三四在线观看视频 | 欧美黑人巨大videos精品 | 欧美精品影院 | 日本高清另类videohd | 在线观看h视频播放高清 | 宅男午夜 | 一级做a爰片久久毛片潮喷 一级做a爰片久久毛片看看 | 乱老女人一二区视频 | 久久精品国产欧美 | 污污成人一区二区三区四区 | 国产品精人成福利视频 | 春意影院午夜免费入口 | 今天免费中文字幕视频 | 久久国内精品视频 | porn在线视频一区二区 | 欧美一级毛片高清视频 | 欧美孕妇xxxx做受欧美 | a天堂v| 黑人太大太粗受不了了 | 最近中文字幕高清mv免费 | 福利在线免费观看 | 亚洲成人黄色网址 | 成人影院一区二区三区 | 欧美影院一区二区三区 | 亚洲 欧美 日韩中文字幕一区二区 |