- 最近公司一直在push控制包大小的事情,好多方法都用了,包括删除无用类,删除无用方法,删除无用文件,删除无用图片,一番操作下来,包大小确实降低不少,初期减包还比较顺利,越到最后越难。
- 今天介绍一种比较激进的方式,就是把类声明中的@property换成_varible的方式
例如:以我这个test工程为例
ViewController这个类一共有80个property
生成出来的最终二进制文件有130k+
把ViewController的所有property换成_varible变量的方式如下
最终工程生成的二进制大小为89k,仅一个文件就减少这么多,可见收益还是挺大的。
- 为啥这么做会减少包大小呢?因为以@property方式生成的代码里面,编译器会插入很多自己的代码(setter,getter),比如加个锁,copy一下,retain一下等等,换成_varible的方式就没有那么多自动生成的代码了。
- 这种方法比较激进,如果担心有什么问题,可以把一些int,float等简单类型的property换一下,class类型的可以不换。
5.苹果的官方demo也有好多这么用的,比如developer.apple.com/library/arc…
6. 平时我们自己的工程里面也有好多这么写的,目前线上没发现什么问题,如果有不妥的地方可以留言指出,多谢。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END