iOS开发那些事-关于性能优化–选择nib还是故事板的讨论

故事板是苹果在iOS5之后推出的技术,本意是集成多个nib文件于一个故事板文件,管理起来方便,故事板还能反应控制器之间的导航关系,很多导航是需要连连线就可以了,不需写代码,使用起来很方便。但是我告诫读者,从内存占用角度看故事板不是一个好的技术。

为了比较我们使用Xcode中的Master-Detail模板分别创建,基于故事板的应用StoryboardDemo和基于nib的应用NibDemo。然后通过Instruments工具的Allocations模板分析ViewController视图控制器加载的时候,内存占用方面有多少差别。NibDemo工程的Allocations模板跟踪,StoryboardDemo工程的Allocations模板跟踪。

1

画面启动用时00:02.776.562毫秒,内存占用1.10MB。画面启动用时00:02.911.718毫秒,内存占用1.11MB。NibDemo比StoryboardDemo画面启动时间要长,内存要多占用0.01MB,即约等于10KB。

默认情况下工程中有一个故事板文件,它集成了应用中几乎所有的控制器,随着业务复杂度增加,在故事板的IB设计画面会变的杂乱无比,故事板文件会变得非常的庞大。应用程序在加载故事板时候有些迟缓,内存的占用也会增加。

事实上nib仍然是比较好的技术,只不过不能表达画面之间的导航关系,画面导航要手工编写代码。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农老关【关东升】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值