使用tinypng减少apk体积

 1.前言

Android apk太大了怎么办,有的时候需要减小apk的体积,例如上传到服务器的时候有文件大小的限制.百度一下,发现大致有以下几种方法:

  1. 使用混淆,减少代码体积
  2. 删除不使用的资源
  3. 减少使用第三方库的数量,避免引入大而全的框架
  4. 压缩图片

然而经过实践,发现前面几种方法没有多大用途,一个代码文件才几kb,一张图片轻轻松松的抵好几十个代码文件,混淆搞半天还不如删个图片来得快;当项目开发完毕后减少第三方库是不现实的,由此大量修改代码是划不来的。经过分析,发现apk中最大的部分是图片,所以重点是压缩图片来减小体积。

2 TinyPng简介

TinyPng能够在视觉上几乎不影响图片的情况下显著压缩图片体积。

TinyPng官网

先来看官网的简介:

What does TinyPNG do? 
TinyPNG uses smart lossy compression techniques to reduce the file size of your PNG files. By selectively decreasing the number of colors in the image, fewer bytes are required to store the data. The effect is nearly invisible but it makes a very large difference in file size!

翻译一下,意思是TinyPng使用智能的有损压缩算法,通过减少图片的颜色,从而在几乎不影响视觉的情况下,显著的减少图片的体积. 
来看看,官网上演示的例子:

使用tinypng减少apk体积_第1张图片

可以明显的看到,压缩后体积显著的减少了,然而图片却没什么变化.

3 TinyPng用法

进入TinyPng官网,点击下面的区域:

使用tinypng减少apk体积_第2张图片

选择需要压缩的图片,这里图片是可以多选的

使用tinypng减少apk体积_第3张图片

可以看到图片被大幅度的压缩了,看下面,六幅图片就压缩了488kb,图片总体积缩小了一半,是不是很可观呢,点击 Download all 可以下载全部压缩后的图片,而且压缩后的文件名和原来的文件名是一样的,都不用改名,直接替换,简直很赞啊。apk的体积一下子就减下来了,这才是正确的apk瘦身的方法嘛,简单粗暴有效。

4 突发奇想

既然用TingPng来压缩图片没有什么视觉上的影响,那如果反复压缩会有什么效果呢?动手实践:

使用tinypng减少apk体积_第4张图片

0.jpg是原始图片,后面的数字表示被压缩的次数.

从图中可以看到,压缩3次以后基本上体积就很难再减少了,压缩6次以后体积基本上就不变了

值得高兴的是,即使不停的压缩,图片依然不会失真,所以放心大胆的使劲压缩吧。如下,压缩7次后的对比图:

使用tinypng减少apk体积_第5张图片

5 总结

TinyPng好用的地方:

  1. 图片压缩后对视觉影响不大,但体积显著减小
  2. 可以批量压缩
  3. 压缩后文件名与原文件名相同,可以直接替换,相当赞啊,尤其是批量压缩的时候
  4. 可以反复压缩,而不用担心失真
  5. 简单有效

你可能感兴趣的:(使用tinypng减少apk体积)