編輯:關於Android編程
之前打包的時候直接就用eclipse或者android studio直接生成簽名文件,並沒有關心大小問題,最近有人問我有沒有對APK進行瘦身,對這方面內容一致沒有關注過,今天試用了各種方式把項目簽名apk減少了1/4大小,這樣對用戶節省了流量。
APK是Android的安裝包。APK文件其實是zip格式,但是後綴被修改為apk,我們可以直接解壓目錄如下:
分析一下各個內容的作用
查看文件/目錄大小主要針對assets、classes.dex、lib、res內容進行精簡。
存放在assets下的文件不會生成ID,存放的文件形式可以是多樣的比如音頻、圖片、html相關的等等,精簡體積也就是精簡這些內容。
(1)音頻:主要用在鈴聲和通知方面,體積不要太大,使用壓縮格式的音頻
(2)圖片:在不降低圖片效果、保證APK顯示效果的前提下縮小圖片文件大小。
a、使用tinypng優化大部分圖片資源
tinypng的缺點是在壓縮某些帶有過渡效果(帶alpha值)的圖片時,圖片會失真,這種圖片可以采用webP格式,保證圖片質量前提下大幅減少圖片的大小。
b、使用webP圖片格式
webP是一種支持有損和無損壓縮的網絡圖片格式,如果在 App 中使用 WebP,除了 Android4.0 以上提供的原生支持外,其他版本以可以使用官方提供的解析庫webp-android-backport編譯成so使用,通常UI提供的圖片都是png或者jpg格式,我們可以通過智圖或者isparta將其它格式的圖片轉換成webP格式,isparta可實現批量轉換。
智圖:
(3)Html相關的
html主要涉及js和css這兩部內容采用壓縮格式減少體積
(1)盡量使用系統提供的字符串、ID、圖片資源等
(2)優化代碼結構,減少冗余代碼
(3)使用shape來替換圖片,能用代碼實現的圖片樣式都用代碼實現
(4)使用Proguard對代碼進行混淆、優化和壓縮,它有一個專門用來減少apk文件大小的功能叫做 tree-shaking。Proguard 會遍歷你的所有代碼然後找出無用處的代碼。所有這些不可達(或者不需要)的代碼都會在生成最終的apk文件之前被清除掉。Proguard 也會重命名你的類屬性,類和接口,然整個代碼盡可能地保持輕量級水平。
(5)靜態代碼分析工具,無需運行,無需測試用例 掃描整個項目,分析以下潛在的問題,分類指出問題描述、問題位置,並提供合理的修改建議
通過AndroidUnusedResources來檢查安卓應用程序中未使用的資源,使用方法如下:
把下載下來的jar放到項目目錄下面,在控制台中輸入:
找到用不到的資源刪除掉
在手機上一般只要支持armabi就可以了對於x86的不需要,所以引入第三方庫的時候把用不到的so刪除掉。
大家好,翻了翻以前的筆記,發現了一個我特別標記的功能,那就是ListView全選功能,頓時想起了我那個時候苦逼的生涯,由於我大學機械出身,大學畢業了都不知道
在Android應用開發中,滑動側邊欄經常使用,今天我也試著自己進行了一個簡單的實踐,雖然功能還不是很強大,但是可以保留下來為以後的開發使用,有需要時在進行簡單的修改。實
問題背景:有一些UI具有共性,比如常見的app第一次運行時出現的各種指示框,告訴你往哪搓是調音量的,往哪點是調屏幕亮度的,當點擊這些VIew,則其自動消失。或者一動時間
支付寶更新了開發文檔,針對最近的支付開發,做一下詳細的開發流程總結。一、接入流程1.1、第一步:創建應用並獲取APPID創建應用,獲取APPID,並且可以申請開通開放產品