久久人妻av一区二区软件 ,欧美日韩中文亚洲另类春色,国产欧美亚洲精品a,亚洲a∨无码男人的天堂,精品亚洲人伦一区二区三区,国产美女精品一区二区,欧美精品aaa久久久影院,成人精品天堂一区二区三区
首頁 資訊 > 業界 > 正文

關于大型客戶端項目的思考

大型客戶端項目在使用過程中一般會面臨幾個問題:

a. 啟動慢b. 運行慢c. 穩定性低基于以上問題進行一些思考,最終總結出該方案.


(資料圖)

解決方案

當項目過大時,需要加載的程序集也越多,對應程序需要啟動的時間也越長,如果在這個時候有一個啟動的過渡頁,從使用的角度看,能在啟動后快速看到程序反應,則在某種程度上加快了程序的啟動速度.

以VS2022為例,在啟動的時候并不是第一時間去加載整個IDE窗口,而是使用了一個過渡,先啟動一個啟動頁再過渡到導航窗口,來選擇要編輯的項目,再而去加載整個編輯界面.即:啟動窗口->導航窗口->編輯窗口啟動窗口時,可以看到VS主進程并沒有真正啟動,而是到導航窗口時才啟動,這個時候也只是啟動了7個子進程,直到編輯窗口時,以我的設置為例子進程數運行到13個,達到真正使用的狀態.那么退回來講,如果在啟動時,直接把這13個子進程的事情合并到一個主進程來做,可想而知,啟動速度會慢多少倍而這個情況正是我們在開發客戶端項目時使用的邏輯.所以以此為鑒,要做的就是拆分主進程.

從穩定性來說,不管是VS還是CEFSharp,也都是采用多進程的方法,我在使用VS2022的時候遇到過某個模塊功能崩潰但不影響主功能使用的情況,而CEFSharp中的CefSharp.BrowserSubprocess進程更是為每個頁啟動一個進程來做渲染等工作,好處則是即使其中一個頁面崩潰,也不影響其他頁面.我在開發過程中集成過好多第三方SDK,不限于騰訊阿里,但都在使用過程中遇到各種問題導致SDK內部崩潰,使整個程序崩潰的情況,這些也并不能通過良好的代碼及經驗來規避,只能等待SDK方去解決,但最終不管是體現在領導或用戶方,都是開發人員來背鍋,那么要怎么甩鍋,我認為依然是多進程.

那說了這么多,多進程真的那么好么?好是真的好,但也要從實際業務去考慮

優點:
啟動快,安全性高,穩定性高,且可以更好的利用CPU
缺點:
啟動進程成本高,進程間通訊成本高

所以并不能一味的去靠多進程,如果存在大的模塊或者第三方服務時,才應該去考慮多進程實現.

多進程架構實現

說了這么說,那么以一個調用阿里播放器SDK的程序為例來進行一個實現.

Shell進程:展示歡迎頁檢測版本更新當存在版本更新時,直接對主程序集進行更新[主進程也可增加反更新Shell邏輯],增加用戶體驗(傳統做法為,主進程啟動時進行版本檢測,如需要更新時再啟動更新進程)單例啟動控制傳統的單例啟動是控制主進程,一次主進程存在,二次主進程則把啟動參數拋給一次主進程.而先啟動Shell進程,要做的就是判斷主進程是否存在,如果存在直接把啟動參數拋給主進程并關閉自己Main進程:

程序的主要功能進程,被Shell進行調起,可接收Shell拋來的啟動參數集成播放器控件(該控件和播放器SDK完全解耦,負責渲染SDK回調的視頻數據和發送控制命令)

Player進程:

實例播放器SDK,并把SDK中的視頻數據回調給播放器控件

技術實現

關于進程間通訊,這里主要使用兩種通訊方式,管道和共享內存(C#中SharedMemoryManager庫)a. ShellMain進程的通訊,可使用管道來實現.b. Main(具體為播放器控件)和Player則使用管道和共享內存兩種方式播放器的控制邏輯使用管道來實現,而視頻幀的數據回調則使用共享內存來實現.

其他

該方案為在使用其他軟件時的觀察和思考,包括一些利用ChatGPT4.0得到的信息,僅為個人理解.軟件及庫不限于:VS2022,CEFSharp,網易云音樂,微信等.

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2023 創投網 - www.bbcnxku.cn All rights reserved
聯系我們:39 60 29 14 2@qq.com
皖ICP備2022009963號-3

主站蜘蛛池模板: 国产熟睡乱子伦视频| 国产精品内射视频免费| 午夜免费啪视频| 久久午夜无码鲁丝片直播午夜精品| 亚洲综合激情另类小说区| 久久无码中文字幕东京热| 久久九色综合九色99伊人| 国产小视频在线观看网站| 国产日产欧产精品精乱子| 永久不封国产av毛片| 在线高清理伦片a| 久久综合九色综合97网| 久久无码人妻影院| 久久激情日本亚洲欧洲国产中文 | 少妇久久久被弄到高潮| 日本丰满大乳人妻无码苍井空| 九九久久精品免费观看| 国产美女裸体无遮挡免费视频高潮| 国产亚洲精品品视频在线| a∨天堂亚洲区无码先锋影音| 国产日韩av无码免费一区二区| 免费无码鲁丝片一区二区| 成在人线av无码免费看网站| 亚洲愉拍自拍另类天堂| 日韩中文人妻无码不卡| 天天爽夜夜爽人人爽qc| 亚洲色在线v中文字幕| 成熟妇女性成熟满足视频| 久热爱精品视频在线◇| 免费无码h肉动漫在线观看| 欧美色欧美亚洲国产熟妇| 丁香五月激情综合亚洲| 99久久九九社区精品| 久久综合综合久久综合| 欧美人与动交视频在线观看| 午夜中文无码无删减| 久久亚洲国产精品影院| 亚洲国产成人精品福利| 青草av久久一区二区三区| 日本xxxx片免费观看| 亚洲午夜成人精品无码|