Android apk 瘦身

背景

        在开发的过程中,发现应用程序apk大小越来越大,相对于它能提供的
功能而言,它是在不应该拥有那么大的体积,没干多少 活,饭倒是没少吃,所以决定对它做精简,提高它的质量。

决定一个人会不会下载这款软件大概有那么几个方面(个人认知,轻喷)

  • 实用性:我需要用它来解决某些问题,我不一定喜欢它,但是它能够解决我的问题。

  • 吸引力:它提起了我的兴趣,里面有我想要欣赏或者去尝试的内容。

  • 客观条件:应用程序大小(毕竟用户还是很珍惜流量,假如没有wifi,还有就是手机的内存)。

        像前两点都是靠主观能动性去解决的,它并没有一个固定的标准,退一步说,就算是做到了极致,也还是有人会不喜欢(就是那么任性,你能有什么办法)。但是第三点,是可以通过客观存在的知识去解决的(你可以尽情去发挥,不用在意别人的脸色),而且可以在较短时间内快速解决。

         正常情况下,我们所编写的代码并不会占用太大的内存(即使你跟我一样菜,冗余代码一大堆),占用apk尺寸的一般有so文件,本地的资源文件,远程服务器集成的三方工具(这个不太好弄,人家都是本着你爱用不用的态度,就看你如何根据你的应用程序去选择最优的方案了),我主要跟大家聊聊so文件与本地资源文件的精简。

so库精简

        android跟ios不一样,android的cpu架构比较丰富多彩,就目前为止大概有这7中cpu架构ARMv5、ARMv7、ARMv8、x86、x86_64、MIPS和MIPS64。这7中cpu架构呢又都有各自支持的ABI(应用程序二进制接口 描述了应用程序和操作系统之间,一个应用和它的库之间,或者应用的组成部分之间的低接口。我也是百度过来的,如果有深刻理解ABI的朋友,还请您传道受业解惑)

CPU架构 首选so文件类型 次选so文件类型 更次so文件类型 无奈so文件类型
ARMv5 armeabi
ARMv7 armeabi-v7a armeabi
ARMv8 arm64-v8a armeabi-v7a armeabi
x86 x86 armeabi-v7a armeabi
x86_64 x86_64 x86 armeabi-v7a armeabi
MIPS mips
MIPS64 mips64 mips

        以上是cpu对ABI的支持情况,但是对他们的支持并不是同等级别的(就像你喜欢的女孩,总有最喜欢的和挺喜欢的),ARMv5只支持armeabi,所以他没得选择,ARMv7会首先选择armeabi-v7a,得不到的话,就会退而求其次选择armeabi(毕竟日子还是要过的),ARMv8支持的ABI顺序依次是arm64-v8a,armeabi-v7a,armeabi,x86支持的ABI顺序依次是x86,armeabi-v7a,armeabi,x86_64支持的ABI顺序依次是x86_64,x86,armeabi-v7a,armeabi,MIPS只支持mips,MIPS64支持的ABI顺序依次是mips64,mips。手机系统会根据这个顺序去选择最适合自己的so文件,直到别无选择,放弃此应用程序。

        如果我们将所有类型的so库都安装的话,必然会导致apk的体积增大,所以我们就要选择最优的方案来避免这种问题,首先可以排除mips和mips64,手机厂商不会选择MIPS与MIPS64架构作为自己的手机架构,ARMv8可用32位模式运行armeabi-v7a和armeabi。x86与x86_64,一般inter的处理器会用到,目前的手机市场的占有率极低,我在网上找到了这几款摩托罗拉MT788、XT890(RAZR i) 联想K800、K900、P90 华硕ZenFone 2/2E/4/5/6、Zoom、PadFone Mini 中兴Geek、中兴Grand X in 诺基亚Lumia 1000 Intel x86 LG GW990 Lava XOLO X900(印度) Orange San Diego(英国) Megafon Mint(俄罗斯),而且他们都包含ARM模拟层,可以兼容ARM类型的ABI,剩下的ARMv5,比较古老的cpu架构,你要是很谨慎的话,应用程序的覆盖范围比较宽泛,跨度比较大的话,考虑适配,ARMv7最主流的cpu架构,覆盖范围99%,追求应用程序性能的话,可以抛弃其他所有,只适配他(毕竟最爱的人嘛)。

图片资源压缩

大家可以去pngquant — lossy PNG compressor官网下载相应的操作系统版本

image

解压后进入文件夹,将你要压缩的文件夹复制到此处,在pngquant下运行 .\pngquant256--force --ext .png .\文件夹名称*.png

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容