Android性能调优:apk大小优化

  • 一方面,在发布android apk版本的时候,往往需要对apk空间进行优化。另一方面,用户在应用市场下载安装时,往往会将apk的大小作为一个考虑因素。所以合理的apk大小是必要的。

    近期在新项目调优时,发现apk大小较之前增加了6M多。使用Android Studio自带的apk analysis发现如下图:

    举例说明,优化前,drawable文件夹下面的xxhdpi占3.2M。
    这里写图片描述
    优化后:,xxhdpi占1.2M。
    这里写图片描述

    如果我们对项目中的所有资源文件都同等程度的优化,那么我们的apk将缩小很大的空间,运行也会较之前更快,内存占用也会更小。

    这里采用的工具是pngquant,是一个开源的工具,可以对png图片等进行几乎无损的压缩,而且可以自行设置压缩比。为了能一次性压缩文件夹下面的png图片,用python写了个批处理的小脚本。

    代码如下:

#!/usr/bin/python
# -*- coding:utf8 -*-
import os
print os.getcwd()
files = os.listdir(r'/root/vic/drawable_sources/src')
display_size = "ls -lht ./temp/*.png"
def command():
    return "pngquant -f --ext .png --quality 80-80 ./temp/*.png"
for file in files:
    if (not os.path.isdir(file) and (file.endswith('.png') or file.endswith('.PNG'))):
        os.system(command())
os.system(display_size)
  • 注意
    这里采用压缩比为80%,相对比较保守。

  • 报错处理

    批处理之后导入项目,编译报错如下:

这里写图片描述

该报错初步感觉是资源文件出了问题,通过beyandcompare比较之后发现,文件夹下面存在.9.png图片,应该是pngquant工具还不支持对.9.png图片的处理,去掉这类图片的替换,项目就构建成功了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值