当前位置: 首页 > APP开发新闻动态

Android App开发功能不减,让你的App瘦下来

发表于:2017-11-07

        现如今,应用市场上的APP应用功能越来越强悍,app的体积也越来越大,但是对用户来说,最好的用户体验便是,app功能不见少的情况下,尽可能的缩小占用手机内存的空间,也就是APP的体积要尽可能的压缩。然而Android App开发可执行文件的体积在不断的变大,第三方依赖的SDK,jar包,依赖库,为了追求良好的视觉效应的高清图片,国际化的适配等等,不断的在扩大着我们的应用体积。

Android App开发功能不减,让你的App瘦下来

        众所周知,安卓机会越用越卡,尤其是配置低的,手机内存本来就少,而APP应用体积比较大,影响到手机的正常使用,可能出于必要性的考虑,用户有可能就会卸载我们的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的打包省下很大的一部分内存。如果您想做android app软件开发,欢迎咨询隽云科技,我们为您个性化定制开发。


标    签: Android App开发    安卓app软件开发    Android开发技术

致电了解更多!400-969-0103 我想要个更针对我需求的方案