`

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仍然是比较好的技术,只不过不能表达画面之间的导航关系,画面导航要手工编写代码。

分享到:
评论
2 楼 关东升 2013-02-21  
crowning_2008 写道
关老师 好!

你好
1 楼 crowning_2008 2013-02-21  
关老师 好!

相关推荐

    iOS6开发指南视频-HelloiOS源码ppt

    在iOS开发领域,iOS6开发指南视频-HelloiOS源码ppt涵盖了初学者入门的重要知识点,主要涉及了如何在iOS环境中创建应用的基本步骤以及 nib 和故事板(Storyboard)这两种界面构建技术的使用。以下是对这些关键知识点...

    ios-HorizontalGride--Demo.zip

    开发者需要为每个cell提供一个对应的 nib 文件或者故事板,定义cell的UI元素和布局。在HorizontalGride--Demo中,每个cell可能包含一个或多个元素,比如图片、标题和描述,它们按照预定的样式进行排列。 在实际开发...

    IOS应用源码之akosma-nib2objc-1.4-12-gcde9b9e.zip

    《iOS应用源码详解:akosma-nib2objc-1.4-12-gcde9b9e.zip》 在iOS应用开发中,源码的理解与掌握是提升开发效率和质量的关键。...总之,akosma-nib2objc是iOS开发者提高技艺、优化工作流程的一个宝贵资源。

    iOS6开发指南视频源码ppt-视图控制器与导航模式.rar

    针对标签导航和树形导航这两种相对复杂的导航模式本章为大家提供了nib和故事板两种实现方式,大家可以通过nib实现方式掌握导航模式的原理,同时通过故事板实现的方式掌握如何灵活使用这两种导航方式。 视图控制器与...

    IOS应用源码之【应用】NIB to Objective-C converter.rar

    在iOS应用开发中,Xcode中的NIB(Interface Builder Document)文件是用于设计用户界面的图形工具,而Objective-C则是苹果平台的主要编程语言。`NIB to Objective-C converter`是将NIB文件转换为Objective-C代码的...

    xib转nib脚本.zip

    在iOS应用开发中,XIB(Interface Builder Document)和NIB(NeXT Interface Builder)文件是两种用于描述用户界面布局的资源。它们都是XML格式,用于定义UI元素、控件和它们之间的关系。然而,两者之间存在一些差异...

    让不懂编程的人爱上iPhone开发(2013秋iOS7版)-第4篇1

    《让不懂编程的人爱上iPhone开发(2013秋iOS7版)-第4篇1》这篇文章是面向初学者介绍如何使用Xcode进行iOS应用开发的教程。本文将深入讲解其中的关键知识点,帮助初学者理解iOS界面构建和Xcode工具的使用。 首先,...

    《iOS6开发指南》精彩书摘

    8. **应用程序本地化**:详细讨论了本地化概念、内容和目录结构,以及文本、nib、故事板和资源文件的本地化。 9. **数据持久化**:讨论了iOS本地数据持久化的方式,包括适合各种场景的数据存取方式和实现。 10. **...

    iOS开发高级程序员面试题-答案.pdf,这是一份不错的文件

    iOS开发高级程序员面试题-答案.pdf 这份文件涵盖了iOS开发中的一些高级问题,包括判断题、填空题、简述题和问答题。下面是从这份文件中生成的相关知识点: 判断题 1. UITableView能够绑定多个数据源。(错) ...

    ios 反编译工具

    在iOS开发领域,有时我们需要对已有的iOS应用进行分析、调试或者学习,这时就涉及到一个重要的工具——"ios 反编译工具"。反编译是将已经编译过的二进制代码转换回源代码的过程,尽管这个过程通常不完全可逆,但仍然...

    开发技术-硬件-纳米NiB基合金TiO2纳阵列复合电极的制备及其电催化性能.zip

    在本压缩包文件中,我们关注的是一个与开发技术密切相关的硬件领域研究——纳米NiB基合金TiO2纳阵列复合电极的制备及其电催化性能。这个主题涵盖了材料科学、电化学以及纳米技术等多个交叉学科的知识点,下面将对此...

    nib开发 ui设计

    根据提供的文件信息,我们可以归纳出以下关键知识点,主要聚焦于iPhone用户界面(UI)设计与nib文件开发: ### 一、nib文件及其在iOS开发中的应用 #### 1.1 nib文件概述 - **定义**:nib(NeXT Interface Builder)...

    ios-UITableView-Swift.zip

    在iOS开发中,UITableView是一个至关重要的组件,它用于展示数据列表,用户可以通过滚动来查看更多的内容。本项目“ios-UITableView-Swift.zip”显然关注的是如何在Swift中有效地使用UITableView。下面我们将深入...

    IOS应用开发攻略.pdf

    《iOS应用开发攻略》收录了最新的iOS软件开发的最佳做法,涵盖了应用开发及构建优雅解决方案的必备知识,包括:编写通用的启动画面和嵌入式Web浏览器;构建复杂表视图;使app或游戏活灵活现的填充、变换和动画;通过...

    使用NIB父类来创建UIVIEW

    在iOS开发中,UI设计和布局是至关重要的部分。`NIB`(Interface Builder Document)是一种苹果提供的工具,用于可视化地构建用户界面。通过使用NIB文件,开发者可以脱离代码,直观地设计UI元素,然后在运行时加载到...

    IOS应用源码Demo-设置不同风格的table view样式-毕设学习.zip

    在iOS应用开发中,Table View是极为常用的一种UI控件,它用于展示列表形式的数据。本项目"IOS应用源码Demo-设置不同风格的table view样式-毕设学习.zip"显然是一个教学示例,旨在帮助学生理解并掌握如何在iOS应用中...

    开发技术-硬件-纳米NiB基合金TiO2纳省略阵列复合电极的制备及其电催化性能.zip

    在本压缩包中,主要涉及的是一个关于纳米材料科学与电化学工程的专题,具体是“纳米NiB基合金TiO2纳米阵列复合电极的制备及其电催化性能”。这一主题涵盖了材料科学、纳米技术、电化学以及电催化等多个IT领域的交叉...

Global site tag (gtag.js) - Google Analytics