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

關(guān)于大型客戶端項(xiàng)目的思考

大型客戶端項(xiàng)目在使用過(guò)程中一般會(huì)面臨幾個(gè)問(wèn)題:

a. 啟動(dòng)慢b. 運(yùn)行慢c. 穩(wěn)定性低基于以上問(wèn)題進(jìn)行一些思考,最終總結(jié)出該方案.


(資料圖)

解決方案

當(dāng)項(xiàng)目過(guò)大時(shí),需要加載的程序集也越多,對(duì)應(yīng)程序需要啟動(dòng)的時(shí)間也越長(zhǎng),如果在這個(gè)時(shí)候有一個(gè)啟動(dòng)的過(guò)渡頁(yè),從使用的角度看,能在啟動(dòng)后快速看到程序反應(yīng),則在某種程度上加快了程序的啟動(dòng)速度.

以VS2022為例,在啟動(dòng)的時(shí)候并不是第一時(shí)間去加載整個(gè)IDE窗口,而是使用了一個(gè)過(guò)渡,先啟動(dòng)一個(gè)啟動(dòng)頁(yè)再過(guò)渡到導(dǎo)航窗口,來(lái)選擇要編輯的項(xiàng)目,再而去加載整個(gè)編輯界面.即:啟動(dòng)窗口->導(dǎo)航窗口->編輯窗口啟動(dòng)窗口時(shí),可以看到VS主進(jìn)程并沒(méi)有真正啟動(dòng),而是到導(dǎo)航窗口時(shí)才啟動(dòng),這個(gè)時(shí)候也只是啟動(dòng)了7個(gè)子進(jìn)程,直到編輯窗口時(shí),以我的設(shè)置為例子進(jìn)程數(shù)運(yùn)行到13個(gè),達(dá)到真正使用的狀態(tài).那么退回來(lái)講,如果在啟動(dòng)時(shí),直接把這13個(gè)子進(jìn)程的事情合并到一個(gè)主進(jìn)程來(lái)做,可想而知,啟動(dòng)速度會(huì)慢多少倍而這個(gè)情況正是我們?cè)陂_發(fā)客戶端項(xiàng)目時(shí)使用的邏輯.所以以此為鑒,要做的就是拆分主進(jìn)程.

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

那說(shuō)了這么多,多進(jìn)程真的那么好么?好是真的好,但也要從實(shí)際業(yè)務(wù)去考慮

優(yōu)點(diǎn):
啟動(dòng)快,安全性高,穩(wěn)定性高,且可以更好的利用CPU
缺點(diǎn):
啟動(dòng)進(jìn)程成本高,進(jìn)程間通訊成本高

所以并不能一味的去靠多進(jìn)程,如果存在大的模塊或者第三方服務(wù)時(shí),才應(yīng)該去考慮多進(jìn)程實(shí)現(xiàn).

多進(jìn)程架構(gòu)實(shí)現(xiàn)

說(shuō)了這么說(shuō),那么以一個(gè)調(diào)用阿里播放器SDK的程序?yàn)槔齺?lái)進(jìn)行一個(gè)實(shí)現(xiàn).

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

程序的主要功能進(jìn)程,被Shell進(jìn)行調(diào)起,可接收Shell拋來(lái)的啟動(dòng)參數(shù)集成播放器控件(該控件和播放器SDK完全解耦,負(fù)責(zé)渲染SDK回調(diào)的視頻數(shù)據(jù)和發(fā)送控制命令)

Player進(jìn)程:

實(shí)例播放器SDK,并把SDK中的視頻數(shù)據(jù)回調(diào)給播放器控件

技術(shù)實(shí)現(xiàn)

關(guān)于進(jìn)程間通訊,這里主要使用兩種通訊方式,管道和共享內(nèi)存(C#中SharedMemoryManager庫(kù))a. ShellMain進(jìn)程的通訊,可使用管道來(lái)實(shí)現(xiàn).b. Main(具體為播放器控件)和Player則使用管道和共享內(nèi)存兩種方式播放器的控制邏輯使用管道來(lái)實(shí)現(xiàn),而視頻幀的數(shù)據(jù)回調(diào)則使用共享內(nèi)存來(lái)實(shí)現(xiàn).

其他

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

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - www.bbcnxku.cn All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3

主站蜘蛛池模板: 2019国产精品青青草原| 精品无人区无码乱码大片国产| 亚洲人亚洲人成电影网站色| 亚洲色帝国综合婷婷久久| 国产在线无遮挡免费观看| 经典三级欧美在线播放| 最新69国产成人精品视频| 丰满人妻熟妇乱又伦精品| 久久久av波多野一区二区| 国产精品人妻久久毛片| 亚洲国产精品久久网午夜| 久久婷婷综合缴情亚洲狠狠_| 久久久久国产精品熟女影院| 国产精品边做奶水狂喷无码| 欧美综合天天夜夜久久| 久久996re热这里只有精品无码| 亚洲一区二区三区四区五区黄| 亚洲人成无码网站www| 国产精品99久久久久久宅男小说| 国产成人亚洲影院在线观看| 中国农村熟妇性视频| 国模少妇无码一区二区三区| 鲁丝久久久精品av论理电影网| 久久综合色鬼综合色| 亚洲中文字幕日本在线观看| 97人伦色伦成人免费视频| 亚洲无av码在线中文字幕| 永久不封国产av毛片| 免费网站看v片在线18禁无码| 99久久成人国产精品免费| 中文字幕久久精品无码| 欧美最骚最疯日b视频观看| 亚洲中文字幕无码av在线| 亚洲美女国产精品久久久久久久久 | 国内精品久久人妻互换| 日韩在线精品成人av| 欧美性色大片在线观看| 婷婷色爱区综合五月激情韩国| 日韩精品少妇无码受不了| 岛国在线无码高清视频| 色综合天天综合天天更新|