国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序之?dāng)?shù)據(jù)的同步渲染

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序之?dāng)?shù)據(jù)的同步渲染。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

微信小程序之?dāng)?shù)據(jù)的同步渲染

結(jié)論: 微信小程序通過(guò)setData方法實(shí)現(xiàn)數(shù)據(jù)的同步渲染,直接修改data無(wú)法實(shí)現(xiàn)同步渲染。

setData工作原理

小程序分為邏輯層和渲染層,而每次邏輯層改變了,要借用Native運(yùn)行。小程序的渲染層和邏輯層由兩個(gè)線程管理:渲染層的界面使用了 WebView 進(jìn)行渲染;邏輯層采用 JsCore 線程運(yùn)行 JS 腳本。一個(gè)小程序存在多個(gè)界面,所以渲染層存在多個(gè) WebView 線程,邏輯層和渲染層兩個(gè)線程的通信會(huì)經(jīng)由微信客戶(hù)端 Native 做中轉(zhuǎn),邏輯層發(fā)送網(wǎng)絡(luò)請(qǐng)求也經(jīng)由 Native 轉(zhuǎn)發(fā)。

使用setData方法其實(shí)就是將邏輯層的數(shù)據(jù)通過(guò)Native進(jìn)行中轉(zhuǎn)同步到渲染層,所以我們不要重復(fù) setdata, ,但是也要減少數(shù)據(jù)的傳輸量。我們的數(shù)據(jù)傳輸實(shí)際是一次 Javascript 腳本過(guò)程,當(dāng)數(shù)據(jù)量過(guò)大時(shí)會(huì)增加腳本的編譯執(zhí)行時(shí)間,占用 WebView JS 線程。

方法是去除不必要的事件綁定( WXML 中的 bind 和 catch ),從而減少通信的數(shù)據(jù)量和次數(shù)。

Native

native是使用原生系統(tǒng)內(nèi)核的,相當(dāng)于直接在系統(tǒng)上操作。是我們傳統(tǒng)意義上的軟件,更加穩(wěn)定。

webView

webView是Android內(nèi)置webkit內(nèi)核的高性能瀏覽器,而WebView則是在這個(gè)基礎(chǔ)上進(jìn)行封裝后的一個(gè) 控件,WebView直譯網(wǎng)頁(yè)視圖,我們可以簡(jiǎn)單的看作一個(gè)可以嵌套到界面上的一個(gè)瀏覽器控件!

JsCore

JSCore是WebKit默認(rèn)內(nèi)嵌的JS引擎,之所以說(shuō)是默認(rèn)內(nèi)嵌,是因?yàn)楹芏嗷赪ebKit分支開(kāi)發(fā)的瀏覽器引擎都開(kāi)發(fā)了自家的JS引擎,其中最出名的就是Chrome的V8。這些JS引擎的使命都相同,那就是解釋執(zhí)行JS腳本。而從上面的渲染流程圖我們可以看到,JS和DOM樹(shù)之間存在著互相關(guān)聯(lián),這是因?yàn)闉g覽器中的JS腳本最主要的功能就是操作DOM樹(shù),并與之交互。

相比靜態(tài)編譯語(yǔ)言生成語(yǔ)法樹(shù)之后,還需要進(jìn)行鏈接,裝載生成可執(zhí)行文件等操作,解釋型語(yǔ)言在流程上要簡(jiǎn)化很多。這張流程圖右邊畫(huà)框的部分就是JSCore的組成部分:Lexer、Parser、LLInt以及JIT的部分(之所以JIT的部分是用橙色標(biāo)注,是因?yàn)椴⒉皇撬械腏SCore中都有JIT部分)。接下來(lái)我們就搭配整個(gè)工作流程介紹每一部分,它主要分為以下三個(gè)部分:詞法分析、語(yǔ)法分析以及解釋執(zhí)行。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-503165.html

到了這里,關(guān)于微信小程序之?dāng)?shù)據(jù)的同步渲染的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [微信小程序踩坑]微信小程序editor富文本組件渲染字符串時(shí),內(nèi)部圖片超出大小導(dǎo)致無(wú)法正常渲染或回顯(數(shù)據(jù)傳輸長(zhǎng)度為 3458 KB,存在有性能問(wèn)題!)

    [微信小程序踩坑]微信小程序editor富文本組件渲染字符串時(shí),內(nèi)部圖片超出大小導(dǎo)致無(wú)法正常渲染或回顯(數(shù)據(jù)傳輸長(zhǎng)度為 3458 KB,存在有性能問(wèn)題!)

    富文本組件: 回顯方法: bug復(fù)現(xiàn): 數(shù)據(jù):\\\"p杰佛的撒嬌佛是阿達(dá)分階段實(shí)施的佛教的撒img src=\\\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/

    2024年02月08日
    瀏覽(31)
  • 解決微信小程序數(shù)據(jù)渲染緩慢或卡頓的方法 (uniapp vue3)

    解決微信小程序數(shù)據(jù)渲染緩慢或卡頓的方法 (uniapp vue3)

    在微信小程序中渲染數(shù)據(jù)時(shí)通常會(huì)使用setData方法,但是setData對(duì)數(shù)據(jù)是有影響的,單次設(shè)置的數(shù)據(jù)不能超過(guò)1024kB,否則就會(huì)出現(xiàn)卡頓甚至有時(shí)會(huì)導(dǎo)致小程序閃退等現(xiàn)象。而我們平時(shí)在實(shí)現(xiàn)業(yè)務(wù)時(shí),一般會(huì)采取數(shù)據(jù)分頁(yè)而防止大量數(shù)據(jù)渲染導(dǎo)致小程序白屏/卡頓,例如在一些商城

    2024年02月08日
    瀏覽(98)
  • 微信小程序?qū)W習(xí)之?dāng)?shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學(xué)習(xí)記錄

    微信小程序?qū)W習(xí)之?dāng)?shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學(xué)習(xí)記錄

    數(shù)據(jù)綁定的基本原則:在data中定義數(shù)據(jù),在wxml中使用數(shù)據(jù) 1.1. 在data中定義數(shù)據(jù) 在data中定義數(shù)據(jù),找到頁(yè)面對(duì)應(yīng)的.js文件,然后把數(shù)據(jù)定義到data中即可。 pages/list/list.js 1.2. 在wxml中渲染數(shù)據(jù) (mustache語(yǔ)法) mustache語(yǔ)法,插值表達(dá)式 將data中的數(shù)據(jù)綁定到頁(yè)面中渲染,使用mu

    2024年02月13日
    瀏覽(32)
  • 微信小程序之WXML 模板語(yǔ)法之?dāng)?shù)據(jù)綁定、事件綁定、wx:if和列表渲染

    微信小程序之WXML 模板語(yǔ)法之?dāng)?shù)據(jù)綁定、事件綁定、wx:if和列表渲染

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識(shí)點(diǎn)… 一個(gè)人摸索學(xué)習(xí)很難堅(jiān)持,想組團(tuán)高效學(xué)習(xí)… 想寫(xiě)博客但無(wú)從下手,急需寫(xiě)作干貨注入能量… 熱愛(ài)寫(xiě)作,愿意讓自己成為更好

    2024年01月22日
    瀏覽(27)
  • 微信小程序:uni-app列表數(shù)據(jù)渲染子組件修改數(shù)據(jù)sync/v-model無(wú)效的問(wèn)題

    有如下一個(gè)列表,將數(shù)據(jù)循環(huán)傳遞給子組件,實(shí)現(xiàn)業(yè)務(wù)解耦,組件拆分 Vue的正常邏輯是,父組件和子組件的數(shù)據(jù)傳遞的是一個(gè)對(duì)象,屬于引用傳遞,可以直接在子組件中修改數(shù)據(jù),父組件中也會(huì)變化,它們操作的是同一個(gè)數(shù)據(jù)。 uni-app子組件中修改 H5正常,轉(zhuǎn)為微信小程序后

    2024年02月10日
    瀏覽(32)
  • 微信小程序渲染出錯(cuò)

    微信小程序渲染出錯(cuò)

    第一個(gè)錯(cuò)誤渲染出錯(cuò): [渲染層錯(cuò)誤] Uncaught (in promise) [object DOMException](env: Windows,mp,1.06.2306020; lib: 2.19.2) 第二錯(cuò)誤method值為空TypeError: Cannot read property \\\'method\\\' of undefined ? ? at Vi.playdate (play.js? [sm]:51) ? ? at Object.i.safeCallback (WASubContext.js?t=wechats=1687920555309v=2.19.2:2) ? ? at WASubContex

    2024年02月10日
    瀏覽(14)
  • 微信小程序渲染實(shí)時(shí)時(shí)間

    微信小程序渲染實(shí)時(shí)時(shí)間

    總結(jié)一下自己怎么用JS初級(jí)的內(nèi)容來(lái)寫(xiě)一個(gè)頁(yè)面實(shí)時(shí)渲染時(shí)間的方法。 util.js文件代碼如下: 例如,我要在index.js中引用util.js中的模塊formatTime。那么,首先在index.js中定義變量util,使用require函數(shù)加載util.js文件。這里必須使用相對(duì)路徑。 調(diào)用函數(shù)時(shí),傳入new Date()參數(shù),返回值

    2024年02月11日
    瀏覽(20)
  • 微信小程序------WXML模板語(yǔ)法之條件渲染和列表渲染

    微信小程序------WXML模板語(yǔ)法之條件渲染和列表渲染

    目錄 前言 一、條件渲染 1.wx:if 2. 結(jié)合 使用 wx:if 3. hidden 4. wx:if 與 hidden 的對(duì)比 二、列表渲染 1. wx:for 2. 手動(dòng)指定索引和當(dāng)前項(xiàng)的變量名* 3. wx:key 的使用 ? ? ? ? 上一期我們講解wxml模版語(yǔ)法中的數(shù)據(jù)綁定和事件綁定(上一期鏈接:微信小程序-----WXML模板語(yǔ)法之?dāng)?shù)據(jù)綁定與事件

    2024年01月16日
    瀏覽(33)
  • 微信小程序skyline渲染引擎嘗鮮

    微信小程序skyline渲染引擎嘗鮮

    概述 官方描述 當(dāng)小程序基于 WebView 環(huán)境下時(shí),WebView 的 JS 邏輯、DOM 樹(shù)創(chuàng)建、CSS 解析、樣式計(jì)算、Layout、Paint (Composite) 都發(fā)生在同一線程,在 WebView 上執(zhí)行過(guò)多的 JS 邏輯可能阻塞渲染,導(dǎo)致界面卡頓。以此為前提,小程序同時(shí)考慮了性能與安全,采用了目前稱(chēng)為「雙線程模

    2024年02月04日
    瀏覽(23)
  • 微信小程序iconfont真機(jī)渲染失敗

    微信小程序iconfont真機(jī)渲染失敗

    解決方法: 1.將下載的.woff文件在transfonter轉(zhuǎn)為base64, 2.打開(kāi)網(wǎng)站,導(dǎo)入文件,開(kāi)啟base64按鈕,下載轉(zhuǎn)換后的文件 3. 在下載解壓后的文件夾中找到stylesheet.css,并復(fù)制其中的base64 4. 修改index.wxss文件,將url中的本地地址替換為base64

    2024年02月13日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包