Apk瘦身优化
来源:互联网 发布:获取淘宝客服地址 编辑:程序博客网 时间:2024/04/29 19:27
概述:
对于大部分用户来说,当看到应用商店陈列着那些一个个应用的时候,会去挑选些Apk体积相对比较小的app下载,因为这样会节省他们的流量消耗、下载时间、手机存储空间。
个人经验总结:
图片的处理:
1、只需要支持hdpi、xhdpi、xxhdpi:
因为目前这三种分辨率占据了80%,对于低分辨率我们完全可以交给Android系统来处理,对于xxxhdpi是为了适应未来而存在的,现在还未普及,对于个别的图片我们可以单独处理。
2、有些简单的图形、背景,可以通过简单的编程做出来的,像分割线、圆角、纯色的背景等,例如shape。
3、使用Android Studio工具
Lint工具可以检测项目中没有用到的资源文件,但是对于通过反射调用的图片无法过滤,需要我们手动排除
Android studio 使用方法:Analyze->Inspect Code
Android Studio的Gradle构建系统支持自动移除无用的资源,基本配置如下:
android { buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
4、对于不带透明度的图片,可以利用tinypng压缩
tinypng可以实现在无损压缩的情况下图片文件大小缩小到原来的30%-50%。
tinypng的缺点是在压缩某些带有过渡效果(带alpha值)的图片时,图片会失真,这种图片可以将png图片转换为下面介绍的webP格式,可以在保证图片质量的前提下大幅缩小图片的大小。
5、使用webp格式图片
在项目中为了减少apk的大小,将一部分图片资源全部转换成webp格式的图片,果然容量少了很多,不过webp格式在android系统版本中,只有4.0之后的才会默认支持,也就是说你将webp格式的图片放在drawable资源下R.java 文件会产生对于的int 标识号,让你在代码中可以通过resource进行使用,比如说给imagview设置图片等。
代码处理:
随着在项目的开发过程中,死代码和重复代码将会越来越多。
1、 去除无用导包
Android Stuido中的快捷键ctrl+alt+o,进行无用包清理。
2、 利用Proguard进行混淆并压缩
ProGuard是一个混淆代码的开源项目。它的主要作用就是混淆,当然它还能对字节码进行缩减体积、优化等,
ProGuard也会重命名你的类属性,类和接口,然整个代码尽可能地保持轻量级水平.
3、 重复代码
对于重复代码可以提取出一个方法,或者提取出一个公共的抽象父类。
后续继续更新........................
- apk优化-apk瘦身
- Apk瘦身优化
- Apk瘦身优化
- 【Android优化系列】apk瘦身
- APK瘦身优化,减小apk的大小
- Android性能优化系列之apk瘦身
- Android性能优化系列之apk瘦身
- Android性能优化系列之apk瘦身
- Android优化系列之apk瘦身
- Android性能优化系列 之 apk瘦身
- Android性能优化系列之apk瘦身
- Android性能优化系列之apk瘦身
- 安卓Apk优化之瘦身
- Android 性能优化 (一)APK高效瘦身
- Android中性能优化(apk瘦身)
- APK瘦身套路-项目优化篇
- APK瘦身套路-项目优化篇
- apk瘦身
- Mysql----远程导出(备份)数据库出错:Couldn't execute 'SELECT @@GTID_MODE': Unknown system variable 'GTID_MODE'
- java中使用队列:java.util.Queue (转)
- 33 个 2017 年必须了解的 iOS 开源库
- Linux共享内存对象,shm_open,mmap
- Java设计模式之单例模式
- Apk瘦身优化
- 递归函数的应用(一)
- jQuery和DOM对象之间的转换
- React Native 中 component 生命周期
- DDD领域驱动设计基本理论知识总结
- Spring MVC 统一异常处理总结
- java数据类型分类
- C#委托
- python写爬虫5-多进程爬虫(采集58出租房信息)