1. 程式人生 > >微信小程序之頁面打開數量限制

微信小程序之頁面打開數量限制

gem str duration 交流 後臺 如果 圖片 clas navigate

無論是在小程序還是APP中,打開一個頁面其實就是創建了一個新的View對象,一層層疊加的。當點擊頁面的回退按鈕就是把當前頁面關閉。

這個過程中會涉及到一個問題,就是打開頁面的數量。在某些設計下,比如一個商品詳情頁面中會推薦其他的商品,這些商品點進去就是詳情頁面。詳情頁面中又有推薦,又可以點進去。這樣重復下去打開的頁面就會越來越多。

如果不做限制,當打開數量到一定程度的時候肯定會卡死了。在微信小程序中打開的頁面不能超過10個,達到10個頁面後,就不能再打開新的頁面。

之前出現這個問題,還以為是Bug,是不是卡死了,後來發現只要回退一個頁面又可以重新打開了。才發現了最大10個頁面的限制。

特意調研了其他公司的小程序,發現確實有這個問題。我這邊就做了一個提示告訴用戶不能打開這麽多頁面,不然用戶會一臉茫然,點著點著就點不了。

每個頁面都會需要跟後臺交互加載數據,我這邊在統一的Http請求中進行判斷。

 var pages = getCurrentPages();
    console.log("pages:" + pages.length);
    if (pages.length == 10) {
      wx.showToast({
        title: "頁面打開太多,請回退關閉幾個頁面",
        icon: 'none',
        duration: 2000
      })
      setTimeout(() => {
        wx.navigateBack({

        })
      }, 2000)
      return;
    }

當打開第10個頁面的時候,給出提示,然後跳回上一個頁面。

技術分享圖片

歡迎加入我的知識星球,一起交流技術,免費學習猿天地的課程(http://cxytiandi.com/course)

技術分享圖片

技術分享圖片

微信小程序之頁面打開數量限制