日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

小程序和钉钉发版后老版缓存的问题调研

發(fā)布時間:2023/12/13 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 小程序和钉钉发版后老版缓存的问题调研 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

小程序發(fā)版后老版緩存方式

1、 小程序運行機制

(1)小程序啟動

小程序啟動會有兩種情況,一種是冷啟動,一種是熱啟動。

熱啟動:假如用戶已經(jīng)打開過某小程序,然后在一定時間內(nèi)再次打開該小程序,此時無需重新啟動,只需將后臺態(tài)的小程序切換到前臺,這個過程就是熱啟動;

冷啟動:用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動,即冷啟動。

(2)小程序銷毀

需要注意的是:只有當(dāng)小程序進(jìn)入后臺一定時間,或者系統(tǒng)資源占用過高,才會被真正的銷毀。

A、當(dāng)小程序進(jìn)入后臺,客戶端會維持一段時間的運行狀態(tài),超過一定時間后(目前是5分鐘)小程序會被微信主動銷毀

B、當(dāng)小程序占用系統(tǒng)資源過高,可能會被系統(tǒng)銷毀或被微信客戶端主動回收。

2、UpdateManager

UpdateManager 對象,用來管理更新,可通過wx.getUpdateManager接口獲取實例。(從基礎(chǔ)庫1.9.90才開始支持,也就是微信版本為6.6.1及以上)

A、UpdateManager.applyUpdate()

強制小程序重啟并使用新版本。在小程序新版本下載完成后(即收到onUpdateReady回調(diào))調(diào)用。

B、UpdateManager.onCheckForUpdate(function callback)

監(jiān)聽向微信后臺請求檢查更新結(jié)果事件。微信在小程序冷啟動時自動檢查更新,不需由開發(fā)者主動觸發(fā)。

C、UpdateManager.onUpdateReady(function callback)

監(jiān)聽小程序有版本更新事件。客戶端主動觸發(fā)下載(無需開發(fā)者觸發(fā)),下載成功后回調(diào)

D、UpdateManager.onUpdateFailed(function callback)

監(jiān)聽小程序更新失敗事件。小程序有新版本,客戶端主動觸發(fā)下載(無需開發(fā)者觸發(fā)),下載失敗(可能是網(wǎng)絡(luò)原因等)后回調(diào)

代碼示例

App({
    onLaunch: function(){
        const updateManager = wx.getUpdateManager()
    
        updateManager.onCheckForUpdate(function (res) {
            // 請求完新版本信息的回調(diào)
            console.log(res.hasUpdate)
        })
 
        updateManager.onUpdateReady(function () {
            wx.showModal({
                title: '更新提示',
                content: '新版本已經(jīng)準(zhǔn)備好,是否重啟應(yīng)用?',
                success: function (res) {
                    if (res.confirm) {
                        // 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟
                        updateManager.applyUpdate()
                    }
                }
              })
        })
 
        updateManager.onUpdateFailed(function () {
          // 新版本下載失敗
        })
    }
})

釘釘E應(yīng)用

經(jīng)過查詢資料后獲取到的信息:

1、釘釘小程序E應(yīng)用在發(fā)版時會有一個老版本的緩存,每次發(fā)版后直接打開E應(yīng)用,其實訪問的是上一個版本的緩存,這個緩存會在發(fā)版后10分鐘左右自動更新成最新版本,如果想要直接看到最新版本,可以退出釘釘?shù)卿涃~戶,并殺掉釘釘進(jìn)程,這樣再進(jìn)去后就是直接訪問的最新版本了.

文檔提示自己本地實驗:微信開發(fā)者工具上可以通過「編譯模式」下的「下次編譯模擬更新」開關(guān)來調(diào)試

我自己在本地根據(jù)上述的提示實驗過,當(dāng)下次編譯時,當(dāng)本地不是最新版本,會提示“新版本已經(jīng)準(zhǔn)備好,是否重啟應(yīng)用?”,點擊確定就觸發(fā)UpdateManager.applyUpdate()事件,強制小程序重啟。

總結(jié)

以上是生活随笔為你收集整理的小程序和钉钉发版后老版缓存的问题调研的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。