特斯拉組件 ios高性能開(kāi)發(fā)應(yīng)用
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
簡(jiǎn)要說(shuō)明下各個(gè)協(xié)議的作用:
FMPageDataSource, 提供子頁(yè)面,子頁(yè)面的個(gè)數(shù),子頁(yè)面展示的frame給PageController。
FMPageDelegate, 提供頁(yè)面交互切換和非交互切換的回調(diào)給上層以及頁(yè)面的縱向滑動(dòng)和橫向滑動(dòng)的contentoffset給上層。
FMTabDataSource, 提供TabView的具體展示效果。
FMTabDelegate, 提供TabView的點(diǎn)擊響應(yīng)給上層。
FMCoverController, 提供CoverView給CoverController.
其中,F(xiàn)MTabController默認(rèn)遵循FMTabDataSource,F(xiàn)MTabDelegateSource,F(xiàn)MPageDataSource,F(xiàn)MPageDelegate協(xié)議。FMCoverController遵循FMCoverDatasource協(xié)議。
2.2 接口設(shè)計(jì)
接口遵循高內(nèi)聚和低耦合的特性,只把Delegate和DataSource開(kāi)放給上層,同時(shí)做接口分離,把Page,Tab,Cover特性的分離。 代碼如下:
@interfaceFMTabController : FMBusinessViewController 《FMPageControllerDataSource, FMPageControllerDelegate, FMTabDataSource, FMTabDelegate》@interfaceFMCoverController : FMTabController 《FMCoverDataSource》2.3 Child頁(yè)面的生命周期管理和切換。
1.UIScrollView支持分頁(yè)效果,手勢(shì)處理及交互操作多個(gè)回調(diào)方法可以實(shí)現(xiàn)頁(yè)面的切換效果。
2.生命周期管理有兩種方式 a.頻繁地add/remove ChildController b.使用下面的代碼實(shí)現(xiàn)生命周期的管理:
1)shouldAutomaticallyForwardAppearanceMethods 2)beginAppearanceTransition: animated: 3)endAppearanceTransition
a.會(huì)產(chǎn)生一個(gè)重大缺陷,就是頻繁切換的卡頓問(wèn)題。
b.不需要頻繁地去調(diào)用add/remove,1)方法避免了 add/remove產(chǎn)生的生命周期,2)和3)保證了開(kāi)發(fā)者可以自己控制ChildController的生命周期。
Page的生命周期圖如下:
初次或者reloadPage
交互切換和非交互切換 2.4 性能問(wèn)題擴(kuò)展
以下通過(guò)Iphone5 模擬器 10.3系統(tǒng),與UIPageViewController做了性能上的對(duì)比。
UIPageViewController 快速切換內(nèi)存占用情況
UIPageViewController 快速切換GPU占用情況
Page組件快速切換內(nèi)存占用情況
Page組件快速切換GPU占用情況
從上圖中內(nèi)存占用圖標(biāo)的波動(dòng)情況可以看出UIPageViewController在快速切換的時(shí),會(huì)盡可能快地釋放掉不用的controller及其view(主要是view)以保證內(nèi)存占用較小,所以圖標(biāo)指標(biāo)先才會(huì)頻繁的波動(dòng),與UIPageViewController作對(duì)比,Page組件用空間換時(shí)間的策略避免頁(yè)面卡頓。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
特斯拉組件 ios高性能開(kāi)發(fā)應(yīng)用下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問(wèn)題? 380
- 華為全新鴻蒙蓄勢(shì)待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機(jī)系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機(jī)出貨7000萬(wàn)部;消息稱 MiOS 僅限國(guó)內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機(jī)身過(guò)熱 216
- Testin云測(cè)兼容和真機(jī)服務(wù)平臺(tái)中上線iPhone 15系列手機(jī) 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運(yùn)放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128
- 昆侖太科發(fā)布支持國(guó)產(chǎn)飛騰騰銳D2000芯片的開(kāi)源BIOS固件版本 448