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使用智能的有损压缩算法,通过减少图片的颜色,从而在几乎不影响视觉的情况下,显著的减少图片的体积.
来看看,官网上演示的例子:

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

3 TinyPng用法

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

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

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

4 突发奇想

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

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

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

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

5 总结

TinyPng好用的地方:

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

6 转载请注明来自”梧桐那时雨”的博客:http://blog.csdn.net/fuchaosz/article/details/51829662

Tips
如果觉得这篇博客对你有帮助或者喜欢博主的写作风格,就给博主留个言或者顶一下呗,鼓励博主创作出更多优质博客,Thank you.

Android apk瘦身之使用TinyPng压缩图片相关推荐

  1. Android Apk瘦身指南大全

    Android Apk瘦身指南大全 前言 为什么Android应用Apk要瘦身?虽然安装包大小对应用使用没有影响,但应用的安装包越大,用户下载的门槛越高,安装等待时间也会越长,特别是在移动网络情况下, ...

  2. Android APK 瘦身

    Android APK 瘦身的几个方法 将项目中的图片由png.jpg转为webp格式.如下操作: 1.1选中图片或者含有图片的文件夹 右键选择Convert toWebP.. 1.2根据自身情况选择 ...

  3. Android apk瘦身讲解

    apk瘦身 想办法较减少apk大小 必要性 同样功能,apk越小越好,用户下载动机更大 了解apk的组成 classes.dex:是java源码编译后生成的java字节码文件 resources.ar ...

  4. Android APK 瘦身 - JOOX Music项目实战

    JOOX Music是腾讯海外布局的一个音乐产品,2014年发布以来已经成为5个国家和地区排名第一的音乐App.东南亚是JOOX Music的主要发行地区,由于JOOX Music所面对的市场存在很多 ...

  5. android APK瘦身全面总结——如何从32.6M到13.6M

    前言 之前我简单介绍了关于svg图片瘦身的问题,在公司,瘦身这个问题是我提出来的,所以这锅我背了.公司项目是32.6M,我给自己的要求就是低于20M.上周花了一个星期瘦身,至于为什么花了一周,主要是s ...

  6. android apk瘦身方法

    参考文档:天之界线2010   http://www.jianshu.com/p/8f14679809b3 我们在新的android studio2.2中可以看到可以对apk 进行分析了: 我们从中可 ...

  7. Android APK瘦身/减小包体

    内推 [长期有效]欢迎加入字节跳动我的团队:内推链接 随着应用的长久迭代,各种功能模块的加入,APK包体越来越大,减小包体是必要的. 所以,从最简单的来. 1.删除无用资源 应用迭代就了,功能增删,总 ...

  8. Android Apk 瘦身大法

    原文地址: https://mp.weixin.qq.com/s/XS0tuLgTfyp4rW4h69wyQQ 一, 我们在多人开发项目 或者 遗留项目中开发时,会有些自己没用到的资源文件,但是自己也 ...

  9. Android APK瘦身方法小结

    众所周知,APP包体的大小,会影响推广的难度,用户不太喜欢下载太大的APP,同类型同等功能的APP中往往是包体小的更受用户的青睐,所以降低包体是一项非常必要的事情,也是最近公司的APP需要降低包体,所 ...

最新文章

  1. atitit.复合变量,也就是类似$$a的变量的原理与实现 java c#.net php js
  2. 大部分公司并不需要微服务
  3. MYSQL 开启root远程登录权限
  4. P5299-[PKUWC2018]Slay the Spire【dp】
  5. MySQL Cluster7.2.4 集群配置
  6. ​《麻省理工科技评论》选出2019年全球十大突破性技术
  7. 一般信道容量迭代算法c语言,离散信道容量的迭代算法
  8. 金字塔型php的9x9乘法口诀表,python中打印金字塔和九九乘法表的几种方法
  9. k8s/docker 安装yapi和MongoDB
  10. c语言正确声明的格式,c语言函数声明(c语言函数声明格式)
  11. 一加10 Pro搭载Pixelworks视觉显示技术;Microland获微软高级专业化认证 | 全球TMT
  12. win10安装mysql初始化失败怎么办_Win10系统安装SQL2000失败 初始化错误该怎么解决?...
  13. 使用STM32CubeMX和SW4STM32在Nucleo-F401RE开发板轻松实现Blinky闪烁 [
  14. 开心农场最新外挂助手下载
  15. 制作带边框的圆形头像
  16. linux sis启动命令,Linux系统开机过程详细分析
  17. android商品标签,TextView首行缩进效果(商品标签)
  18. 数学小故事之 柯西的故事
  19. CTB全球创新大挑战组队中 全新课题火热来袭
  20. Ubuntu下使用FreeRadius实现Wifi认证

热门文章

  1. 机器学习复习之逻辑斯蒂回归以及决策树
  2. 关于安装Python过程中 无法访问Windows Installer服务问题解决
  3. facebook 分享页面_如何建立Facebook页面
  4. 从软件工程师到IT猎头:我的一点经历和感触 (转)
  5. 使用redis incr处理并发问题
  6. Spring 教程(一)
  7. POJ 3384 Feng Shui(半平面交)
  8. php获取无限极团队人数,PHP实现无限极菜单
  9. Alist+PotPlayer实现高清影视在线观看
  10. linux批量删除文件或者文件夹