瀏覽器工作原理分為以下幾部分:
- 分析瀏覽器份額问窃,種類(lèi)谨朝,理解瀏覽器是多進(jìn)程還是多線(xiàn)程的赴精,有哪些常駐進(jìn)程和常駐線(xiàn)程佩捞,如何相互配合
- 瀏覽器內(nèi)核的工作原理,渲染線(xiàn)程和事件隊(duì)列以及JS單線(xiàn)程的工作原理蕾哟。
ps:動(dòng)畫(huà)不連貫一忱,因?yàn)闉g覽器渲染有一個(gè)最小時(shí)間間隔(這塊之前搜藏了)
涉及如下部分:
- 進(jìn)程和線(xiàn)程,單核與多核
進(jìn)程與線(xiàn)程谭确,單核與多核 - 瀏覽器有哪些進(jìn)程和線(xiàn)程帘营,他們之間的關(guān)系,打開(kāi)瀏覽器時(shí)的調(diào)度順序是怎樣的
- 異步機(jī)制與事件隊(duì)列逐哈,宏任務(wù)與微任務(wù)芬迄,worker,setTimeout不準(zhǔn)的原因
https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
ps:click會(huì)導(dǎo)致微任務(wù)立馬執(zhí)行? - js與gui渲染的互斥昂秃,此時(shí)如果有用戶(hù)點(diǎn)擊上下拉等操作禀梳,頁(yè)面的效果是如何杜窄,比如下拉時(shí)js在執(zhí)行大量計(jì)算,視圖是先更新還是先執(zhí)行大量計(jì)算
- css和js資源加載的互阻塞
- 瀏覽器的渲染機(jī)制算途,代碼變成頁(yè)面上的視圖經(jīng)歷了哪些塞耕?(看google大神的ppt)
7.重繪與重排,如果dom數(shù)據(jù)很多嘴瓤,是否可以利用hidden或者wx-if來(lái)減少需要渲染的數(shù)據(jù)量扫外,此時(shí)性能是否會(huì)好些?-長(zhǎng)列表的優(yōu)化
ps:需要考慮直接回到頂部的情況廓脆,另外如果只是應(yīng)對(duì)列表的增加筛谚,原始渲染部分的內(nèi)容不變,是否可以利用wx:key或者新開(kāi)圖層的方法來(lái)渲染
參考
從瀏覽器多進(jìn)程到JS單線(xiàn)程狞贱,JS運(yùn)行機(jī)制最全面的一次梳理
瀏覽器加載解析渲染機(jī)制的全面解析
主流瀏覽器多進(jìn)程架構(gòu)對(duì)比以及檢測(cè)方法
瀏覽器內(nèi)核常駐線(xiàn)程
主流瀏覽器內(nèi)核介紹(前端開(kāi)發(fā)值得了解的瀏覽器內(nèi)核歷史)
瀏覽器多線(xiàn)程和js單線(xiàn)程(轉(zhuǎn))
為什么瀏覽器會(huì)使用多進(jìn)程架構(gòu)
瀏覽器內(nèi)核刻获、頁(yè)面呈現(xiàn)原理及其優(yōu)化
通過(guò)QQ瀏覽器內(nèi)核看browser性能優(yōu)化
百度百科-瀏覽器內(nèi)核
瀏覽器工作原理詳解
chrome瀏覽器頁(yè)面渲染工作原理淺析
瀏覽器工作原理-webkit內(nèi)核研究
JavaScript 運(yùn)行機(jī)制詳解:再談Event Loop
JavaScript:徹底理解同步、異步和事件循環(huán)(Event Loop)
并發(fā)模型與Event Loop
JavaScript EventLoop
深入理解nodejs Event loop
簡(jiǎn)單總結(jié)下JS中EventLoop事件循環(huán)機(jī)制
這一次瞎嬉,徹底弄懂 JavaScript 執(zhí)行機(jī)制
瀏覽器的工作原理:新式網(wǎng)絡(luò)瀏覽器幕后揭秘
瀏覽器是如何工作的蝎毡?(工作原理)
【前端優(yōu)化之渲染優(yōu)化】大屏android手機(jī)動(dòng)畫(huà)丟幀的背后