精华内容
下载资源
问答
  • App瘦身

    2019-08-29 19:34:13
    App瘦身这方面有几个点: 1.资源:咱们图片mipmap{ hdpi xhdpi ...
    App瘦身这方面有几个点:
    
             1.资源:咱们图片mipmap{
                                         
                                         hdpi
                                         xhdpi
                                         xxhdpi
                                         xxxhdpi
    
                                 }
                                 多套图在apk会造成apk包过大所以对于这一点我们需要删除无用选择合适的
                     
                                  图片我们尽量用WebP格式
                                  (它支持有损无损压缩、支持完整的透明通道、也支持多针动画,是一种比较理想的图片格式)
                                  用sharp进行绘制
    
                                  然后能用代码进行绘制的图片尽量用代码实现
      
                                  少用帧动画
    
             2.代码:
                        对于在代码方面移除吴用代码或者对无用代码进行注释这样我们在混淆打包的时候会对这些代码忽略 
                        对代码进行抽取和封装
    
             3.源码:
                        如果有能力的情况下我们可以对代码进行源码解析,对于我们有用的代码抽出来,将无用的代码删除掉来对我们的apk瘦身
             4.依赖:
                      使用V7包
    
                   对于依赖统一管理
    

    动态导入(比如我们酷狗的背景图片在我们下载完成的时候它不会下载只有在我们用到的时候才会进行下载)

    展开全文
  • APP瘦身

    2017-03-04 19:03:00
    一、APP瘦身的概念  APP瘦身指定是在不减少APP功能的前提下,通过一些技巧将打包出来的APK的体积尽可能的减少。这样做的好处有这么几个:加快用户的下载速度,节省用户下载流量,提升用户的下载体验。 二、APP...

    一、APP瘦身的概念

      APP瘦身指定是在不减少APP功能的前提下,通过一些技巧将打包出来的APK的体积尽可能的减少。这样做的好处有这么几个:加快用户的下载速度,节省用户下载流量,提升用户的下载体验。

    二、APP瘦身的技巧

      1、配置gradle文件,开启minifyEnable,作用是开启混淆压缩模式,会过滤掉整个项目中未使用的jar和class文件,对代码进行混淆,从而减少dex文件的大小。具体做法是:

    buildTypes {
            //增加构建类型
            releaseMinifyEnabled {
                //开启dex字节码压缩,舍去未使用的jar和class文件
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
            //默认release构建类型
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
    } 

      2、配置gradle文件,开启shrinkResources,作用是将res,目录下未使用的图片文件进行特殊处理,其具体做法是将未使用的图片全部变成1×1像素的小图,从而减少res目录的大小。具体做法是:

    shrinkResources {
        //启用res资源过滤,会将项目中未使用到的图片变成1x1的小图,从而减少体积
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

      3、配置gradle文件,指定resConfigs,作用是指定打包时编译的语言包类型,未指定的其他语言包,将不会打包的apk文件中,从而减少apk体积的大小。具体做法是:

    defaultConfig {
        applicationId "com.example.lxj.appthin"
        minSdkVersion 14
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        //配置打包时编译的语言类型,默认会编译value目录,此处再增加一个中文类型
        resConfigs("zh")
    }  

      4、采用第三方工具(如tinypng)来进一步压缩项目中所有png图片,从而进一步减少apk的体积。具体做法:

        ① 打开tinypng碗盏,将项目中的png图片拖拽到网页中,自动进行压缩;

        ② 下载所有经过压缩的图片,替换项目中对应的png图片;

        ③ 该方式可以很大程度上减少图片的体积,可达50%左右,效果非常显著。

      5、采用webP格式的图片替换调png和jpg格式的图片

        webP的概念:

          webP是谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并且能节省大量的服务器宽带资源和数据空间。国内的淘宝、京东客户端都在使用,webP是未来图片格式的趋势。对于服务器来说,webP格式可以说是必用的格式,对于客户端来说,可以将比较大的png图片替换成webP格式的,从而减少apk的体积。

        如何得到webP格式的图片:

          两种方式:一种是直接让美工在作图时直接做成webP格式,还有一种就是使用转换工具,将当前的png图片转换成webP图片。

        如何将webP格式的图片应用到项目中:

          直接将得到的webP格式的图片替换项目中的png图片即可。

        webP的使用注意事项:

          Android4.0及以上才支持webP格式的图片!!!

      6、比较hack的方式,删除已签名的apk文件中未使用的图片资源(主要是support包中自带的图片),然后使用证书进行重新打包,操作步骤如下:

        ① 首先使用压缩软件打开apk文件,删除那些没用用到的文件,主要是support包中自带的文件

        ② 然后进行安装,如果安装的时候报错,则删除apk中META_INF目录,在使用签名工具对apk进行重新签名即可

        注意:此方法有风险,因为我们删除了support包中的图片,而这些图片大多是被support包中的类锁使用的,比如ActionBar,所以有可能报错找不到资源文件,如果采用了这种方法,就需要对app进行全面测试发现没有问题之后,才能让app上线。

     

    总结如下:

      对apk瘦身的操作主要有这么两类:

      第一类是对图片进行压缩,主要是采用了第三方的工具比如说tinypng或者是将图片格式转换成为webP格式的图片;

      第二类是配置gradle文件,主要是开启了minifyEnabled和shrinkResources,并指定编译的语言包resConfigs;

      第三类是删除apk文件中未使用的图片,主要是support包中的图片文件。

      

    转载于:https://www.cnblogs.com/yegong0214/p/6502298.html

    展开全文
  • app瘦身

    2018-09-06 15:29:32
    Android App开发瘦身大揭秘,让你的App瘦下来 2018.08.28 15:28 46浏览 举报   字号 现在Android App开发,可执行文件的体积在不断的变大。第三方依赖的SDK,jar包,依赖库,为了追求良好的视觉效应的高清...

     

    Android App开发瘦身大揭秘,让你的App瘦下来

    2018.08.28 15:28 46浏览

    举报 

     字号

    现在Android App开发,可执行文件的体积在不断的变大。第三方依赖的SDK,jar包,依赖库,为了追求良好的视觉效应的高清图片,国际化的适配等等,不断的在扩大着我们的应用体积。但是对于用户来说,他们的需求就是,功能在不见少的情况下,App的体积越小越好。

    目前Android智能设备各种各样,配置也各有不同,性能相对好一点的,对于安装包的大小没什么影响,但是对于配置相对差一点的,应用体积比较大,就比较耗费内存,可能出于必要性的考虑,用户有可能就会卸载我们的APP。所以对App的瘦身,也是我们项目开发中,不能忽略的重要一部分。

    再具体官方说一下瘦身的概念:Apk减小,功能不减。节省用户下载消耗的流量。

    这篇文章,我们就全面到的讲一讲怎么给要上线的Android App瘦身。

    首先我们先看一下APK的里面的结构,我们把.apk的后缀改为.zip就行,看下图

    Android App开发瘦身大揭秘,让你的App瘦下来

    这里面的所有的文件的作用简单讲一下:1. lib:lib目录下的子目录armeabi,x86存放的是项目用到的so文件。2. classes.dex:classes.dex是java源码编译后生成的java字节码文件。3. res:res目录存放资源文件。包括图片、字符串、各种xml文件等。4. assets:assets目录可以存放一些配置文件(比如webview本地资源、音频文件等)。5. resources.arsc:编译后的二进制资源文件6. META-INF:META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。7. AndroidManifest.xml:该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等信息。

    好了,接下来我们开始讲怎么瘦身

    1. 我们项目配图我们尽量使用一套切图就可以了。因为现在项目有可能,UI会切一套720p和1080p的图,两套图已经占了很大的内存。因为现在720和1080p视觉差异并不是特别大我们切一套图就可以了,同时UI妹纸的工作量也会减少一半。

    2. 配置gradle三个变量

      1.minifyEnable 设置为true Java编译获取class经过优化压缩进.dex。它会让整个项目没用用到的jar包打包的时候不打包到apk中。

      步骤:minifyEnabled将瘦身功能打开混淆功能,优化class文件

      2.ShrinkResources 打开设置为true

      它会对整个项目未使用的图片进行优化处理,替换成1*1的同名图片,注意事项:ShrinkResoources使用的前提是上一个minifyEnable 也必须要先打开才能使用。

      3.resConfig过滤语言包,如果仅仅是在中国使用,那么只保留中文就行,这样打包的时候其他语言就不会一块打包进去。

    3. 对libs文件夹进行优化,如果项目中,我们添加了百度地图,高德地图等第三方SDK,我们就必须添加他们的支持库,这个时候我们就要优化他的架构,只保留可以支持我们需要设备的支持库就行了,一般我们保留armabi 和 x86 架构就够了。

    4. 对图片进行压缩 APP界面的美化,图片发挥了很大的作用,所以图片的压缩对APP的瘦身也至关重要

      1.项目中尽量使用.9图片,这是一种Z支持Android设备独有的图片,他的作用是图片可以拉伸,只要设置好我们需要保留的区域就好了。

      2.使用转换工具,将png格式的图片转换为jpg格式,这样我们能省下的内存空间。

      3.使用第三方工具ImageOptim/tinypng对图片进行有损或无损压缩,压缩比例根据自己的视觉需求而定。

      4.使用webapp格式的图片,这是谷歌推崇的图片格式,目前好多大公司都采用了这种格式进行客户端的开发。据谷歌介绍使用webapp格式图片要比png能节省下45%的内存空间。

    5.项目采用混合开发,使用H5界面来代替原生界面,H5界面在展示上能比原生更节省内存,和提高效率。

    好了,基本上采用上面的方式就可以为我们APP的打包省下很大的一部分内存。


    作者:喵喔喔
    链接:http://www.imooc.com/article/72097
    来源:慕课网

     

    展开全文
  • App优化--App瘦身

    2018-11-13 17:12:26
    详见,思维导图 地址:APP瘦身 查看密码:xfBM

    详见,思维导图
    地址:APP瘦身
    查看密码:xfBM

    展开全文
  • iOS app 瘦身

    2017-05-27 11:41:01
    本文译自:Guides and Sample Code 的App Thinning (iOS, tvOS, watchOS)App 瘦身App Store和操作系统通过将app定制到用户的特定设备中来优化安装, 这种瘦身优化,方便了我们更快地下载app,为我们的设备节省空间,...
  • Android App瘦身实战

    千次阅读 2017-04-21 20:43:20
    随着业务的快速迭代增长...公司业务发展到一定程度之后,重构,代码优化,app瘦身成为不得不做的一个任务。这里以xx外卖app为例给大家讲讲app瘦身过程中常用的几种方法(也都是网上老生常谈的)。apk文件构成我们可以用
  • Android APP 瘦身

    2018-03-08 13:41:57
    本篇文章只是简单的介绍一下我在项目开发中会用到的APP瘦身方法,以及收集了别人用到而我还没有收录的。。。 开启minifyEnabled混淆代码 在app的build.gradle中 release { minifyEnabled true } 在 app/...
  • App瘦身攻略

    2018-04-04 15:37:24
    1、 前言如果你对App优化比较敏感,那么Apk安装包的大小就一定不会忽视。关于瘦身的原因,大概有以下几...对于开发人员来说,App瘦身则是一次技术优化、技术提升的机会;2、 Apk的组成2.1 Apk典型组成一个典型的Apk...
  • app瘦身总结

    2018-04-15 16:48:17
    上周接到了个需求-去给当前的app瘦身下。刚好不想做业务方面的需求,然后就抽了那么几天做了下调研,做个小总结。目前的项目apk大小在70m到80m之间,不要问我为什么这么大,你来了就知道了!!!既然要给项目瘦身,...
  • Android-APP瘦身

    2018-11-30 13:07:31
    为了给用户带来更好的体验,我们应该为用户着想,首先要简化我们的app,去给我们的app瘦身,一次来减少app为用户带来的不良影响。  app瘦身有两种方法,一种是混淆,一种就是删除无用资源。   混淆:  简介:...
  • Android App瘦身实践

    2018-09-13 11:02:55
    App临发布前需要做一次瘦身工作,下面就简单记录下我的app瘦身的实践过程。 开发中项目就只使用了一套资源,xxhdpi目录下放的1080X1920的图片资源,打包后Apk大小:29.4M 瘦身前29.4M,开始瘦身 1....
  • Android中app瘦身方式

    2018-05-15 09:48:01
    App瘦身的概念App瘦身是指在不减少App功能的前提下,通过一些技巧将打包出来的apk体的体积尽可能减少。 这样做的好处有几个:加快用户下载速度,节省用户下载流量,提升用户下载体验。 如果不进行瘦身,默认打包的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 834
精华内容 333
关键字:

app瘦身