微信小程序直播系統開發框架布局
使用布局頁面
ASP.NET Web Pages - 頁面布局
在之前的內容中,您已看到在多個網頁中引用相同的內容是很簡單的。
創建一致外觀的另一種方法是使用布局網頁。布局網頁包含網頁的結構,而不是內容。當網頁(內容頁)鏈接到布局頁時,它會根據布局頁(模板)來顯示。
布局頁類似普通的網頁,但是會在引用內容頁的位置調用 @RenderBody() 方法。
每個內容頁必須以 Layout 指令開頭。
在代碼中是這樣的:
布局網頁:
<html> <body> <p>This is header text</p> @RenderBody() <p>? 2012 W3School. All rights reserved.</p> </body> </html>
任意網頁:
@{Layout="Layout.cshtml";} <h1>Welcome to W3Schools</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat. </p>
這個項目在寫在很久之前,當時MVP架構網絡上各種分析描述,但是感覺都是各說各的。不確定項目是否采用MVP架構就先動手寫代碼,隨時準備重構項目。就在不久前Google發布Android Architecture Blueprints [beta] ,終於感覺這事有點靠譜了,我現在已經在動手重構項目了。 分析博文在這裏:MVP架構-官方MVP項目和MVP-RxJava項目架構對比分析解讀
微信小程序直播系統開發 找 林-佳137乄1112乄4870 微/電
首先是內部技術優化,為此直播主要做了三方面的措施:
-
推動禮物特效本身的優化,在不刪減動畫的情況下,通過優化幀數,改變格式等手段縮減size。
-
預加載,在進入APP時,對於高級(付費)用戶,提前下載禮物動畫的更新。
-
強行內置,將禮物直接給打進包裏,省掉下載時間。同時各版本的發包,也會根絕實際情況把當期熱門禮物/動畫給打進去。
目前的架構:
基本思想是采用模板方法模式,父類控制代碼結構,子類實現,部分具有相同功能的再提供父類實現。 例如BaseSwipeViewPagerActivity是所有具有上拉刷新SwipeRefreshLayout和左右滑動ViewPager的子Activity類的父類。BaseRecyclerHeadFragment是所有具有能夠添加頭尾View的RecyclerView的父類Fragment,內部主要實現向下滑動自動加載數據。
每個Activity負責邏輯控制,其中會包含都會有一至多個Fragment負責UI顯示,盡可能的不在Activity有網絡操作
技術點
由於是個人項目所以全部采用目前最新的和最熱門技術。
RxJava
很多基本的邏輯使用RxJava/RxAndroid來實現異步響應,簡化了很多異步回調的代碼。比如歡迎界面的實現,詳解點這裏RxAndroid項目實踐-使用RxJava響應式編碼實現知乎日報的歡迎界面
Retrofit
網絡模塊使用Retrofit,搭配RxJava實在是爽。 同時還很簡潔的實現了Https的網絡訪問。功能強大。Retrofit整體框架主要采用代理模式,使得簡化我們的網絡調用操作,真正的內部還是采用OkHttp,這就導致實現下載上傳進度監聽會有點麻煩。目前也已經實現不會有內存泄露,具體參考看DownloadService.java後臺服務單線程圖片下載實現。
微信小程序直播系統開發框架布局