美文网首页
Android apk 瘦身

Android apk 瘦身

作者: 俺叫瓦小力 | 来源:发表于2015-11-05 15:13 被阅读2182次

互联网时代是一个追求效率的时代,大部分用户会因为下载时间、流量消耗、手机存储空间选择较小的app,所以apk瘦身至关重要!

下面我说一下我们团队对于 apk �thin 需要注意的几点:

图片的处理

  1. 只支持hdpi、xhdpi、xxhdpi

因为目前这三种分辨率占据了80%,对于低分辨率我们完全可以交给Android系统来处理,对于xxxhdpi是为了适应未来而存在的,现在还未普及,对于个别的图片我们可以单独处理

  1. 不用图片

有些简单的图形、背景,可以通过简单的编程做出来的,像分割线、圆角、纯色的背景等

  1. 用Lint工具检测工程中没有用到的资源文件

Lint工具可以检测项目中没有用到的资源文件,但是对于通过反射调用的图片无法过滤,需要我们手动排除
Android studio 使用方法:Analyze->Inspect Code
Android Studio的Gradle构建系统支持自动移除无用的资源,基本配置如下:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
注意:shrinkResources 是和 minifyEnabled 一起使用

  1. 对于没有用到过过滤效果(带alpha值)的,用tinypng全部压缩一遍

tinypng可以实现在无损压缩的情况下图片文件大小缩小到原来的30%-50%。
tinypng的缺点是在压缩某些带有过渡效果(带alpha值)的图片时,图片会失真,这种图片可以将png图片转换为下面介绍的webP格式,可以在保证图片质量的前提下大幅缩小图片的大小。

  1. 对于有用到过渡效果的图片,用tinypng压缩会出现失真的现象,所以考虑将其转换为webP格式,SDK 在4.0以下需要用JNI自己编译支持webP格式图片的显示,4.0以上是可以直接支持的,png转webP格式可以用这个工具:isparta

WebP是谷歌研发出来的一种图片数据格式,它是一种支持有损压缩和无损压缩的图片文件格式,派生自图像编码格式 VP8。根据 Google 的测试,无损压缩后的 WebP 比 PNG 文件少了 45% 的文件大小,即使这些 PNG 文件经过其他压缩工具压缩之后,WebP 还是可以减少 28% 的文件大小。目前很多公司已经将webP技术运用到Android APP中,比如FaceBook、腾讯、淘宝。webP相比于png最明显的问题是加载稍慢,不过现在的智能设备硬件配置越来越高,这都不是事儿。

代码的处理

随着项目的推进,工程中会伴随者出现各种死代码和无用代码,而我们又无法很容易的将这些代码剔除掉

  1. 使用 Proguard

Proguard 可以帮你在代码编译时对代码进行混淆,优化和压缩。它有一个专门用来减少apk文件大小的功能叫做 tree-shaking。Proguard 会遍历你的所有代码然后找出无用处的代码。所有这些不可达(或者不需要)的代码都会在生成最终的apk文件之前被清除掉。Proguard 也会重命名你的类属性,类和接口,然整个代码尽可能地保持轻量级水平。

后续会不断更新。。。。。。

相关文章

  • app性能优化

    Android冷启动时间优化 Android开发——避免内存泄露 APK瘦身实践 APK瘦身记,如何实现高达53%...

  • apk瘦身

    Android性能优化之APK瘦身详解(瘦身73%) - 简书

  • Android Apk包瘦身

    目录 1、Android 编译打包流程2、Apk包瘦身 1、Android 编译打包流程及APK构成 1.1、An...

  • android文章精选 - 收藏集 - 掘金

    Android APK 瘦身 - JOOX Music 项目实战 - Android - 掘金导语 JOOX Mu...

  • android apk 瘦身整理

    android apk 瘦身整理 @(android)[图片, resource.aresc, 代码库优化 , 代...

  • 【转】APK瘦身实践

    本文转自:Apk瘦身实践作者:杰风居 转载序:Android开发中,apk瘦身还是很有必要,尤其现在的APP动辄十...

  • Android apk 瘦身

    背景 在开发的过程中,发现应用程序apk大小越来越大,相对于它能提供的功能而言,它是在不应该拥有那么大的体积,没干...

  • Android apk瘦身

    1.打包之后的apk包含哪些文件 classes.dex:是java源码编译后生成的java字节码文件 resou...

  • Android apk 瘦身

    apk瘦身的意义我就不多说了,首先让我们了解一个apk的组成部分,说简单点,一个apk文件就是包含一些文件的压缩包...

  • Android APK瘦身

    背景 公司项目目前处于收尾阶段,对APP的更改在于一些细节和逻辑的调试。因此准备对APK进行瘦身。 瘦身前 在未进...

网友评论

      本文标题:Android apk 瘦身

      本文链接:https://www.haomeiwen.com/subject/zdqchttx.html