女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

特斯拉組件 ios高性能開發應用

大小:1.4 MB 人氣: 2017-09-27 需要積分:2

  簡要說明下各個協議的作用:

  FMPageDataSource, 提供子頁面,子頁面的個數,子頁面展示的frame給PageController。

  FMPageDelegate, 提供頁面交互切換和非交互切換的回調給上層以及頁面的縱向滑動和橫向滑動的contentoffset給上層。

  FMTabDataSource, 提供TabView的具體展示效果。

  FMTabDelegate, 提供TabView的點擊響應給上層。

  FMCoverController, 提供CoverView給CoverController.

  其中,FMTabController默認遵循FMTabDataSource,FMTabDelegateSource,FMPageDataSource,FMPageDelegate協議。FMCoverController遵循FMCoverDatasource協議。

  2.2 接口設計

  接口遵循高內聚和低耦合的特性,只把Delegate和DataSource開放給上層,同時做接口分離,把Page,Tab,Cover特性的分離。 代碼如下:

  @interfaceFMTabController : FMBusinessViewController 《FMPageControllerDataSource, FMPageControllerDelegate, FMTabDataSource, FMTabDelegate》@interfaceFMCoverController : FMTabController 《FMCoverDataSource》2.3 Child頁面的生命周期管理和切換。

  1.UIScrollView支持分頁效果,手勢處理及交互操作多個回調方法可以實現頁面的切換效果。

  2.生命周期管理有兩種方式 a.頻繁地add/remove ChildController b.使用下面的代碼實現生命周期的管理:

  1)shouldAutomaticallyForwardAppearanceMethods 2)beginAppearanceTransition: animated: 3)endAppearanceTransition

  a.會產生一個重大缺陷,就是頻繁切換的卡頓問題。

  b.不需要頻繁地去調用add/remove,1)方法避免了 add/remove產生的生命周期,2)和3)保證了開發者可以自己控制ChildController的生命周期。

  Page的生命周期圖如下:

  特斯拉組件 ios高性能開發應用

  初次或者reloadPage

  特斯拉組件 ios高性能開發應用

  交互切換和非交互切換 2.4 性能問題擴展

  以下通過Iphone5 模擬器 10.3系統,與UIPageViewController做了性能上的對比。

  UIPageViewController 快速切換內存占用情況

  特斯拉組件 ios高性能開發應用

  UIPageViewController 快速切換GPU占用情況

  特斯拉組件 ios高性能開發應用

  Page組件快速切換內存占用情況

  特斯拉組件 ios高性能開發應用

  Page組件快速切換GPU占用情況

  特斯拉組件 ios高性能開發應用

  從上圖中內存占用圖標的波動情況可以看出UIPageViewController在快速切換的時,會盡可能快地釋放掉不用的controller及其view(主要是view)以保證內存占用較小,所以圖標指標先才會頻繁的波動,與UIPageViewController作對比,Page組件用空間換時間的策略避免頁面卡頓。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?