閱讀736 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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仍然是比較好的技術,隻不過不能表達畫麵之間的導航關係,畫麵導航要手工編寫代碼。


最後更新:2017-04-04 07:03:45

  上一篇:go 簡單學sql
  下一篇:go android 簡單實用的Log打印類封裝,助你快速定位問題