美文网首页
APK高效瘦身

APK高效瘦身

作者: 天平GG | 来源:发表于2019-02-20 16:40 被阅读27次

众所周知,APP包体的大小,会影响推广的难度,用户不太喜欢下载太大的APP,同类型同等功能的APP中往往是包体小的更受用户的青睐,所以降低包体是一项非常必要的事情!

一. 压缩图片

国外的网址:无损压缩https://www.tinypng.com/

缺点:上传任何未发布产品的内容到外部网络,都有可能引起数据泄漏

二.使用Android Lint分析去除无用资源

备注:删除的如果是有用到的,Studio会提示
删除的一些无用的,有时候也会导致问题,xml不报错,编译的时候会报错

  1. Analyze - -> Run Inspection by Name --> 输入 unused resource 之后敲下回车Android Lint就会开始分析项目中哪里存在着无用资源


    20160814212247247.png
20160814212314278.png
2. 根据Android Lint给出的分析结果,确认资源的使用情况,确认为无用资源后(一般来说全局搜索下资源名,除了在R.Java中外其他地方都没引用就是无用资源)删除即可
20160814212531967.png
三:开启minifyEnabled混淆代码
buildTypes {
    release {
        //是否进行混淆
        minifyEnabled true
        // 移除无用的resource文件g
        shrinkResources true
        //混淆规则文件
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
    debug {
        // buildConfigField 自定义配置默认值
        signingConfig signingConfigs.debug
        debuggable true
    }
}
四:在gradle使用shrinkResources去除无用资源,效果非常好。
buildTypes {
    release {
        //是否进行混淆
        minifyEnabled true
        // 移除无用的resource文件g
        shrinkResources true
        //混淆规则文件
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
五:用极限压缩工具

或者:使用AndResGuard
AndResGuard是微信开源出来的一个打包工具
原理:

  1. 资源(png, xml, jpg等)名称混淆,资源路径名称混淆以及名称长度压缩;
    
  2. 原来以STORED形式存储到zip中的png文件被改成了DEFLATED(普通压缩存储)方式;
    
  3. 意外发现resources.arsc, META-INF/*.SF 以及 META-INF/*.MF变小了,而且是解压之后的文件大小也变小了。
    
六:使用SVG图片格式

用 SVG 的优势在于:

1.SVG 可被非常多的工具读取和修改(比如记事本),由于使用xml格式定义,所以可以直接被当作文本文件打开,看里面的数据;

2.SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强,SVG 图就相当于保存了关键的数据点,比如要显示一个圆,需要知道圆心和半径,那么SVG 就只保存圆心坐标和半径数据,而平常我们用的位图都是以像素点的形式根据图片大小保存对应个数的像素点,因而SVG尺寸更小;

3.SVG 是可伸缩的,平常使用的位图拉伸会发虚,压缩会变形,而SVG格式图片保存数据进行运算展示,不管多大多少,可以不失真显示;

4.SVG 图像可在任何的分辨率下被高质量地打印;

5.SVG 可在图像质量不下降的情况下被放大;

6.SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图);

7.SVG 可以与 Java 技术一起运行;

8.SVG 是开放的标准;

9.SVG 文件是纯粹的 XML;

七:支持插件化

插件化:支持动态的加载代码和动态的加载资源,把APP的一部分分离出来了,对于业务庞大的项目来说非常有用,极大的分解了APP大小。因为插件化技术需要一定的技术保障和服务端系统支持

相关文章

  • APK高效瘦身

    众所周知,APP包体的大小,会影响推广的难度,用户不太喜欢下载太大的APP,同类型同等功能的APP中往往是包体小的...

  • APK瘦身 减小APP体积

    APK dex瘦身 APK res瘦身 APK减小语言包 APK 重新打包 PNG转JPG tiny处理png w...

  • Drawable 着色的后向兼容方案

    Drawable 着色的后向兼容方案(APK瘦身实践APK瘦身实践)[http://www.cnblogs.com...

  • Android性能优化

    Apk瘦身实用总结 Apk瘦身 Apk的大小对于用户是否选择下载应用起着至关重要的影响下面是对于减小Apk大小的一...

  • Android性能优化:实战讲解包体积优化(上)

    一、瘦身优化及 Apk 分析方案介绍 1、瘦身优势 我们首先来介绍下,为什么我们需要做 APK 的瘦身优化? AP...

  • app性能优化

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

  • apk瘦身

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

  • android apk瘦身

    apk瘦身会带来哪些好处,本文就不赘述了,会依照下面的目录来对apk瘦身进行总结 目录 apk都有啥? 从资源下手...

  • Android apk瘦身实践

    写在前面 最近刚做了一波apk瘦身优化,瘦身后apk大小降低了19%左右。打铁要趁热,赶紧记录一下先。 APK A...

  • ipa和apk简易瘦身

    Material Design风格apk 瘦身ipa 瘦身 一、起因 新版本发布后发现安装包apk和ipa各增加了...

网友评论

      本文标题:APK高效瘦身

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