4th*_*ace 4 iphone cocoa-touch objective-c uiscrollview uiview
我有大量的UIViews在app delegate applicationDidFinishLaunching中创建并添加到NSMutableArray中.用户使用页面控件和滚动视图浏览这些视图.我在IB中创建了UIView及其子组件.它们连接到控制器.在iPhone上创建170个视图大约需要30秒.最终,我将有超过1000个观看次数.除了慢,它还会因为内存使用而杀死应用程序.在没有视图的情况下以编程方式创建所有内容的速度和内 6000个事实类型的应用程序中的一些应该如何做呢?
是否有更好的方法而不是一次创建所有内容?用户可以访问插槽#400中的视图并从那里开始滚动.任何建议表示赞赏.
UIViewControllers是懒惰的.它们仅在请求时加载,并在内存紧张时自动卸载(并且通过调用可以轻松地手动卸载它们self.view=nil).
这里的"加载"意味着"读取NIB"或"以编程方式构建".ViewControllers并不在乎.以编程方式构建可以更快一些,因为您不必访问磁盘,但这很少是瓶颈,因为您一次只显示一个视图控制器.
至于哪种方式,它更多的是风格而不是性能(除了UITableViewCells,你需要在大多数情况下以编程方式构建).
首先研究View Controller编程指南.它会告诉你iPhone如何打算你这样做.
对于eJames关于NIB是XML文件的评论,这可能会有些误导.NIB是通过编译XML的XIB文件生成的二进制文件.在假设NIB加载时间实际上是一个问题之前,我会在手机上进行实际分析.就像我天生倾向于编程布局一样,我在实践中发现NIB在实践中大大简化了许多UI问题,而且我总是回到他们那里寻找大型项目.
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |