公司的apk越做越大。。。
作为一个有追求的程序员,我觉得有必要给apk瘦身了。。。

优化之前,先来分析一下apk结构,下面附上一张apk结构图:

apk结构.png

由于我这个项目集成了百度地图、百度导航。。。所以assets和lib各自变态的占了12M+,有种蛋蛋的忧伤。。。
百度地图是在官网上按项目需求集成的,不需要的功能都没有集成进来,实在没什么优化的空间。。。

classes.dex文件有6.5MB,这个倒是可以优化。Facebook 开源了一个 Redex,用于 Android 字节码的优化,经过 Redex 转换后的 apk,体积变得更小,运行速度变得更快。不过在Github上看了一下,Redex目前只能在Mac和Linux上使用,Windows上无法使用,公司的电脑还没装虚拟机,只能等下次再用了。。。

至于资源文件,我之前用TinyPNG压缩过图片,所以图中资源文件并不算很大。这里附上TinyPNG的网址:https://tinypng.com/
除了压缩图片,还可以删掉一些没有用到的资源。用Android Studio打开项目,点击Analyze--》Run Inspection by Name--》搜索Unused resources,可以搜索出无用资源,删除无用资源(记得别误删友盟的资源...)。
网上有人说直接点击Refactor--》Remove Unused Resources直接删除无用资源。对于这个方法,我劝大家要慎重,因为我上次用这个方法把友盟的资源给删了,导致出现一大堆问题,后面又不得不把友盟的资源再补回去。。。

apk的其他文件也不算大,瘦身计划告一段落。

除了apk瘦身,性能优化也很重要。这里给大家安利一下阿里云的移动测试,我选择了深度性能测试。不测不知道,一测吓一跳。。。之前没发现的问题,这里都可以测出来,大家可以根据出现的问题修改代码。

apk优化暂告一段落,以后有时间再继续研究。。。

Android之apk优化的更多相关文章

  1. fir.im Weekly - 如何进行 Android App 性能优化

    关于 Android App 的优化,@anly-jun 用 3 个月完成了这一系列文章,从 性能分析工具 到 ANR .Layout .消除卡顿 到 内存优化.内存分析工具大概十五六篇,并对此做一个 ...

  2. Android UI性能优化实战, 识别View中的性能问题

    出自:[张鸿洋的博客]来源:http://blog.csdn.net/lmj623565791/article/details/45556391 1.概述 2015年初google发布了Android ...

  3. 教你使用Android SDK布局优化工具layoutopt

    创建好看的Android布局是个不小的挑战,当你花了数小时调整好它们适应多种设备后,你通常不想再重新调整,但笨重的嵌套布局效率往往非常低下,幸运的是,在Android SDK中有一个工具可以帮助你优化 ...

  4. 谈谈android 布局 的优化

    来自:http://www.cnblogs.com/youxilua/archive/2012/05/08/2489414.html 导言 设配android的屏幕一定是一个噩梦,就好比那些搞网页设计 ...

  5. Android的布局优化之include、merge 、viewstub

    以前在写布局的时候总是喜欢用自己熟悉的方式去写,从来也没有想过优化怎么的,后来又一次在上班的时候老大拿着我写的一个页面说我这个不行.我说这不是和设计图上的一模一样的么?怎么就不行了?然后他就跟我说了一 ...

  6. android应用的优化建议(转载)

    首先,这是我在http://www.oschina.net/translate/40-developer-tips-for-android-optimization看到的一片文章,感觉挺有道理的,所以 ...

  7. Android之ListView优化

    关于ListView几个方面的优化: ListView的大小设定固定值; 复用convertView, 使用ViewHolder提高在容器中查找组件的效率; 使用分页加载; 快速滚动时, item不显 ...

  8. Android APP 性能优化的一些思考

    说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才 ...

  9. Android之——ListView优化

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47209253 作为client.其最基本的任务就是最直观的和用户交互.从serve ...

随机推荐

  1. spring mvc ajax异步文件的上传和普通文件上传

    表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ...

  2. HDU1864 最大报销额

    Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过6 ...

  3. 轻松建立Silverlight开发环境

    创建Silverlight 4开发环境,微软提供最简单的方法是使用Web Platform Installer,进行“一键安装”, 下载安装后,Web Platform Installer会自动检测哪 ...

  4. java web 实现文件夹上传(保留目录结构)

    今天我弄了一下文件夹上传(很简单的 首先,我们的html需要这样写 <form action="/file/upload" enctype="multipart/f ...

  5. 基础总结篇之一:Activity生命周期[转]

    from:http://blog.csdn.net/liuhe688/article/details/6733407   基础总结篇之一:Activity生命周期 子曰:溫故而知新,可以為師矣.< ...

  6. vs和vim

    vs:win+R键 输入DEVENV(DEV代表development,ENV代表environment)可以召唤vs,但是有的时候召唤不出来,是因为你的vs安装在c盘program里也就是默认安装, ...

  7. POJ2566 Bound Found 2017-05-25 20:05 32人阅读 评论(0) 收藏

    Bound Found Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 4056   Accepted: 1249   Spe ...

  8. 02:OC和C对比

    1.源文件对比 C语言中常见源文件.h头文件,.c文件 文件扩展名 源类型 .h 头文件,用于存放函数声明 .c C语言源文件,用于实现头文件中声明的方法 OC中的源文件.h头文件,.m与.mm的实现 ...

  9. 100度享乐电商网 jQuery

    $(function() {// x表示不会的需要注意 //新闻走马灯 x  var num = 0 var len = $(".wrap ul li").length $(&qu ...

  10. AutoCompleteTextView 简单用法

    http://blog.csdn.net/i_lovefish/article/details/17337999