App越来越大 顺序员用5分钟把一个400多MB的苹果按部就班包削掉了187MB

你的位置:哪里可以买足球输赢官网在线玩法综合 > 车床资料 > App越来越大 顺序员用5分钟把一个400多MB的苹果按部就班包削掉了187MB
App越来越大 顺序员用5分钟把一个400多MB的苹果按部就班包削掉了187MB
发布日期:2022-11-14 09:08    点击次数:75

App越来越大 顺序员用5分钟把一个400多MB的苹果按部就班包削掉了187MB

前些日子,一个手机QQ按部就班包就要快900MB的事儿在网上吵得沸沸扬扬。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB最新按部就班包又大了,已经924MB

诚然最后巨匠缔造它次要为了视频通话特效多了一个虚幻引擎,但网友照旧感叹:

往常的App真的是越来越大了。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

而就在迩来,国外一名顺序员也遇到了同样的迷惘。

他乘的一班飞机因为没无机上小电视,只能下载一个叫做“美联航”的App来看视频丁宁时光。

小哥一边感叹往常航空公司越来越鸡贼:把成本都加到主顾头上,一边关上了应用市廛,后果就很诧异:

不就用来看个影戏啥的吗,一个Netflix都只要101.5MB,这App怎么是它的四倍?

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

作为一名iOS/Android开发工程师,小哥选择不“束手就擒”,看看它是否真的需求这么大的空间。

原本可以或许免却187MB

说干就干,还在飞机上的小哥连忙用ipatool下载了这个App的二进制文件。

ipatool是GitHub上标星1.4k的开源名目,是一个敕令行货物,可以或许从iOS应用市廛征采和下载应用顺序的ipa文件包,用这个包可以或许举行开发内容的一些搜查等功用。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

下好当前需求把ipa扩张名改成zip,解压当前可以或许看到下面这样的目录:

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

可以或许缔造Frameworks就占了414.8MB,小哥说明:应用顺序的次要内存起原就是Frameworks,往常的最好实际都是把代码push到这内里,照旧挺畸形的。

接上去进入该目录:

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

以UAL结尾的框架是焦点架构、NodeMobile框架跟NodeJS功用无关、LocusLabsSDK和Mapbox是提供地图的,另有一些是担当身份验证、客户反映的……

而视频播放相干的框架相反着实占内存着实不多:

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

接着进入占空间最大的UALAppCore.framework。

颠末层层探索,小哥终于在这里锁定了最大占存的UALAppCore。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

根据他的事变经验,77MB这个数字照旧有点反常的,他谋略用nm敕令深入看看这个框架的标志表(symbol)文件(nm用于体现二进制目的文件的标志表,车床资料名目以下)。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

很快他就想起来,Swift的标志需求剥离(strip,iOS框架中的术语),Objective-C则不需求。

那就查Swift的,后果还真就缔造:

没有一个Swift框架的标志被剥离过。

而这些都没有效,白白耗内存:

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

那接上去就俭朴了,写一个bash脚本运行一下该框架就能OK:

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

最后,可以或许看到原始框架从350MB减到了163M!

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

小哥默示,这一顿操作只花了不到5分钟,没想到可增添空间这么大,整整免却了187MB。

等于往常的按部就班包只要原有的不到60%了。

他猜测该按部就班包仍有增添空间,不过这个后果他已经很惬心了。

你,学废了吗?

“开发商才不体贴呢”

就在小哥收回这个博客当前,有网友驳倒道,另有良多按部就班包着实均可以或许再缩减15%到30%以至更高的空间,就比喻Gmail、Outlook这些很罕见的应用。

但宛若往常良多开发商不是很体贴这个成就,他们只想赶忙始终更新应用:

给不给用户免却这几百M的流量都同样赚钱,为啥还要费功夫呢?

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

有一名嵌入式工程师就默示:当我跟同事提起要留心这方面的优化时,他们总是给我一个茫然的眼神。

有网友觉得:除非各应用市廛起头管这事儿,开发商是不会做出改变的。就单说手机厂商就很沉稳违心看到这一场面,内存不敷就能去他们那买新手机了。

顺序员用5分钟 把一个400多MB的苹果按部就班包削掉了187MB

他还缔造googlePlay Store彷佛就不体现应用顺序大小。

而一些银行App在这个成就上尤为重大,因为他们晓得你不会等闲换银行。

你怎么看?