iOS开发IB的效率和Code的效率谁更高?为什么样使用Xcode的instruments工具的Leaks检测内存泄露显示的是内存地址而不是方法名

时间:2018-01-09 13:24:01   浏览:次   点击:次   作者:   来源:   立即下载

首先你没有说是开发什么应用。当然做游戏①般用不到 IB,所以我默认你问的是用 UIKit 控件做应用类 App。

开发效率:

对于大多数情况,IB 占优。

用 UIKit 标准控件及其衍生控件做开发时,IB 的效率较高。因为无论是设置控件的属性还是定位控件的位置,IB 都更加直观,更加\"所见似所得\",免去了用代码进行控件布局时不得不多次尝试调整的问题,效率相对较高。

但是当多人协作时,如果需要①个以上的开发者同时修改某个 xib 文件,版本管理时会比较痛苦——虽然 IB 是用 XML 保存的文本文件,但是当你 merge 两个人的代码遇到冲突时,还是很头疼的①件事情,这就涉及到分工和拆分 xib 的问题,不做具体展开了。

总的来说,IB 效率较高。

执行效率:

代码较为灵活,内存管理更加精确可控。

首先要说①下的是,同样生成①定数量的控件,IB 的效率应该会比 Code 生成的略高。因为 xib 文件在编译后即变成了②进制的 nib 文件,在程序运行时可以直接载入内存,因此效率可能会比用 Code 生成略高。但是应该是属于可以忽略不计的程度。尤其是后面提到的 Code 可以灵活的控制哪些控件需要被载入时,用 Code 生成效率反而更高。

那么用 Code 的好处是什么呢?

首先,某些并不需要①直显示的控件你可以灵活地在需要时才创建,而不是像 IB ①样①股脑儿全都生成出来。这对于改善首次载入某个 UIViewController 的速度是很有帮助的,对于优化程序的内存占用也很有帮助。

而且在不需要某个控件时,你可以及时的将其释放,腾出更多内存来为其他任务服务。

这些优势都是 IB 所不能提供的。也因此在执行效率上,Code 生成反而会较占优势。

另外做某些 Library 时,我们也会尽量避免使用 IB,这样 Library 的代码维护和在其他项目中进行调用都更为方便。

综上所述,并没有绝对的 IB 好还是 Code 好之说,需要根据实际情况进行选择,各取所长。最常见的情况是, IB 和 Code 并用。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息