Android如何缩减APK包大小

代码

保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。 native code的部分,大多数情况下只需要支持armabi与x86的架构即可。如果非必须,可以考虑拿掉x86的部分。

资源

使用Lint工具查找没有使用到的资源。去除不使用的图片,String,XML等等。 assets目录下的资源请确保没有用不上的文件。 生成APK的时候,aapt工具本身会对png做优化,但是在此之前还可以使用其他工具如tinypng对图片进行进一步的压缩预处理。 jpeg还是png,根据需要做选择,在某些时候jpeg可以减少图片的体积。 对于9.png的图片,可拉伸区域尽量切小,另外可以通过使用9.png拉伸达到大图效果的时候尽量不要使用整张大图。

策略

有选择性的提供hdpi,xhdpi,xxhdpi的图片资源。建议优先提供xhdpi的图片,对于mdpi,ldpi与xxxhdpi根据需要提供有差异的部分即可。 尽可能的重用已有的图片资源。例如对称的图片,只需要提供一张,另外一张图片可以通过代码旋转的方式实现。 能用代码绘制实现的功能,尽量不要使用大量的图片。例如减少使用多张图片组成animate-list的AnimationDrawable,这种方式提供了多张图片很占空间。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

用Python调用百度OCR接口实例

本文主要针对Python开发者,描述百度文字识别接口服务的相关技术内容。OCR接口提供了自然场景下整图文字检测、定位、识别等功能。文字识别的结果可以用于翻译、搜...

8285
来自专栏java初学

滑动窗口协议

37811
来自专栏企鹅号快讯

Bootstrap项目实训干货:设计带修改和删除的图书表格

# 一、实验目标 写一个带修改和删除的表格。页面如下: ? # 二、环境依赖 采用bootstrap框架来实现,依赖的版本为3.3.7。 我们可以直接引用cdn...

2015
来自专栏企鹅号快讯

Python人工智能之图片识别,Python3一行代码实现图片文字识别

我们以识别诗词为例 下面是我们要识别的图片 ? 先看下效果图 ? 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。 一行代码就能识别图...

6146
来自专栏hotqin888的专栏

uparse展示视频时与bootstrap导航条冲突?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

872
来自专栏张尧博客

6个好玩儿的LINUX命令

4055
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版6.4节单继承

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

741
来自专栏十月梦想

node操作gm进行图像基本操作

上一篇介绍了GraphicsMagick的简单使用,这一批使用node结合gm处理一些图像的简单操作!

792
来自专栏目标检测和深度学习

tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解

2312
来自专栏Android开发经验

hellocharts-android-Android图表开源库的使用(一)

1914

扫码关注云+社区

领取腾讯云代金券