1. webp

  WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器宽带资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。WebP既支持有损压缩也支持无损压缩。

在Android Studio 中有专门的插件可以做png和jpg转为Webp的

2.svg

SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形。它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降。它的优点在于节约空间,使用方便。

3.tint

tint在一定程度上也是可以减少apk 的体积,比如,我们一个imageview 做点击效果,按下和抬起是不一样的效果的时候,我们需要写一个seletor,然后放置两张不同的图片,那么tint可以通过一个矢量图,改变不同颜色值来实现这种功能,不需要两张图片

4. 代码混淆

在build.gradle中android节点下的xbuildtype中增加miniEnabled true便是开启了代码混淆,同时要配置代码混淆脚本

5.代码和资源压缩移除

  shrinkResource true 这个不会删除没有用的资源,只是将检测到的没有用的资源改变结构,比如图片就是变成一个很小的黑色的占位图片,没有.xml,会删除里面的内容,但是文件都还在,

  如果用了反射或者动态获取,他是检测不到的,所以要保持这部分不被处理,要加一个keep.xml文件,保持下来

6. 资源打包

默认所有的资源都是支持国际化的,包括我们引入的第三方库都是如此,但是我们并不需要这么多,可能只需要英文和中文,所以我们在ProductFlavor中增加resConfigs('zh-rCN','en')就可以了

7. 动态资源库配置

目前市场上有armebi, armebi-v7a, armebi-v8a, mips, mips64, x86等,但是所有的都兼容armebi, 所以只要保留armebi就可以了,能有效的减少apk 的大小

8.lint 物理 删除无用的资源

9.资源res的混淆,7z压缩,对齐

Apk优化极致的更多相关文章

  1. Android之apk优化

    公司的apk越做越大...作为一个有追求的程序员,我觉得有必要给apk瘦身了... 优化之前,先来分析一下apk结构,下面附上一张apk结构图: apk结构.png 由于我这个项目集成了百度地图.百度 ...

  2. APK优化工具zipalign的详细介绍和使用

    什么是Zipalign?      Zipalign是一个android平台上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK软件开发工具包中.它能够对打包的Android应用 ...

  3. 【Warrior刷题笔记】力扣169. 多数元素 【排序 || 哈希 || 随机算法 || 摩尔投票法】详细注释 不断优化 极致压榨

    题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element/ 注意,该题在LC中被标注为easy,所以我们更多应该关 ...

  4. openstack 性能优化极致

  5. 使用Zipalign工具优化Android APK应用记录

    生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗.我们可以使用Zipalign工具进行A ...

  6. apk添加系统签名

    上一节,可以通过添加su的方式获取系统权限,但这种存在安全隐患,故不推荐,本文通过获取数字签名方式获取系统权限. 在我们的AndroidManifest.xml中添加    android:share ...

  7. Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包

    官方文档:https://developer.Android.com/tools/publishing/app-signing.html 1. 默认为debug mode,使用的签名文件在: $HOM ...

  8. apk的包名修改

    今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name). 目的声明:本文只是为了满足DIY ...

  9. Android签名总结

    signapk.jar与eclipse export插件默认赋予程序一个DEBUG权限的签名 signapk.jar包含有系统权限(system api, permission),而eclipse e ...

随机推荐

  1. 文件输入输出实例&Ptask的编写

    前言 最近在写Ptask,顺便了解了如何进行文件读入输出.而在Ptask中最重要,也是最最容易出bug的地方就是文件操作.那么如何进行文件输入输出,在程序中起到重要作用呢? 输入 首先为了保证可以在控 ...

  2. jenkins登录信息无效,忘记密码

    1.使用admin账号登陆jenkins,提示登录信息无效,请重试 原因:启动了多个jenkins服务或者所开的Jenkins服务不对 2.jenkins账号密码忘记 修改C:\Users\ASUS- ...

  3. P1198 [JSOI2008]最大数(线段树基础)

    P1198 [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制: ...

  4. (一)vim插件tabbar

    今天早晨给 TabBar.vim 的作者Groleo发了个邮件询问这个tabbar关闭失败的问题.得到的答复是 "you can use :bd instead of :close" ...

  5. VMwareWorkstation如何设置共享文件夹

    首先需要安装VMware Tools 这个嘛,应该是需要安装的,之前没有安装好像就没有设置成功. 没有安装的参考如何安装VMware Tools 然后在虚拟机设置里面设置共享路径 右键虚拟机名称,打开 ...

  6. python基本知识点if、while、等等

    给予Python的相关知识点: 主要是对于基本语句的相关使用if else while for等先关的应用,以及步骤如下: 尝试编程如下:还有就是对于 import math import rando ...

  7. MTK Android Camera新增差值

    一. 计算需要的插值 如果原有的插值列表没有我们需要的插值的时候,要通过计算算出符合需求的插值,比如2700W的插值. 具体计算方法如下: 假设像素的长宽分别为X,Y,则插值为XY.由于MTK规定各参 ...

  8. django->基本操作和新建项目常用配置

    一.安装django pip install django==2.1.5 -U #安装django/升级最新版本 二.创建.启动django项目 django-admin startproject m ...

  9. 7.5 this关键字的使用;标准学生类的编写 、构造方法的格式

    /** 学生类** 起名字我们要求做到见名知意.* 而我们现在的代码中的n和a就没有做到见名知意,所以我要改进.** 如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近的原则. * 我们 ...

  10. fiddler composer post请求

    必加部分:Content-Type: application/json