一、微信小程序多次跳转会产生卡顿的原理

通过wx.navigateTo 跳转,都会出现保留当前页面,打开新的页面机制。

wx.navigateTo不会将旧页面出栈,会将新页面入栈(栈内元素个数增加,栈内元素5个时,不能再跳转)。手机性能好点,可能10次左右才会导致小程序跳转卡顿崩溃。

二、解决方法:

1、减少wx.navigateTo的使用,看看能不能用wx.redirectTo代替其跳转。

2、如果已经有缓存栈内,是否可以直接将跳转新的页面(有缓存栈),相当于wx.navigateBack返回缓存栈页面。然后修改数据刷新数据即可。

可以将跳转方法统一封装一下如下操作:

//统一跳转  go_to('navigateTo','pages/index/index','keyword=张三')
function go_to(type,url,parameter){let pages = getCurrentPages();if(pages[pages.length-1].route == url){wx.showToast({title: '已在当前页面~',icon:'none',duration: 1500}); return false;}for(let index in pages){   //若存在缓存页面,返回当前页面,parameter不为空时,将会更改返回页面的setdata值(注意:只能改变一个值)if(pages[index].route == url){index = pages.length-1-index;if(index ==0||index==-1){index = 1;}if(parameter!=undefined){let item_box = parameter.split("=");pages[index].setData({[item_box[0]]:item_box[1]});}wx.navigateBack({delta: index});return false;}}parameter!=undefined?url = '/'+url+'?'+parameter:url = '/'+url;switch (type) {case 'navigateTo':wx.navigateTo({url:url});break;case 'redirectTo':wx.redirectTo({url:url});break;case 'switchTab':wx.switchTab({url:url});break;case 'reLaunch':wx.reLaunch({url:url});break;default:wx.navigateTo({url:url});break;}
}

然后在相应的位置引入跳转即可。同一个页面跳转到同一个页面,建议直接刷新数据即可,封装的方法里面未做处理。

三、方法简单通用,调用即可。

微信小程序优化多次跳转后卡顿问题相关推荐

  1. 微信小程序使用tensorflow做人脸识别检测卡顿的部分解决思路

    1.tf.tidy() 防止内存溢出,特别是在ios上 return tf.tidy(() => {const raw_im = xxxreturn raw_im; }); 2.tf.dispo ...

  2. 微信小程序实现锚点跳转

    微信小程序实现锚点跳转 1.先上效果图,看看是不是你想要的. 2.主要用到的微信小程序的scroll-view 组件实现该效果.核心主要是使用scroll-into-view属性跳转对应的标签页和标签 ...

  3. 微信小程序两个页面跳转,传值

    微信小程序两个页面跳转,传值 在小程序界面,需要点击后跳转界面并且传递一个值. 具体实现如下:首先在wxml界面需要绑定事件,绑定需要传的值 a.wxml `<view bindtap=&quo ...

  4. 如何实现两个微信小程序之间的切换跳转

    如何实现两个微信小程序之间的切换跳转 wx.navigateToMiniProgram({appId: '***************', //跳转目标小程序的appIdpath: '/pages/ ...

  5. Prepack详细介绍及微信小程序优化的新思路

    作者介绍:雪婧,美团点评点餐团队成员. 前言 Prepack前几个月刚出来的时候已经得到了前端界的大范围关注,而在不久之后又逐渐退出了人们的视线.此时这篇文章出来可能显得有些滞后,个人还是比较看好它未 ...

  6. 微信小程序路径带参数跳转

    微信小程序路径带参数跳转 release_con: function () {console.log(this.data.cateid)wx.navigateTo({url: '/pages/rele ...

  7. 微信小程序云开发之用户输入数据后excel表格导出升级版

    大家好,我是csdn的小博主lqj_本人,最近在哔哩哔哩开始上传我的制作微信小程序的详细流程,大家可以关注一下哔哩哔哩:小淼前端 本次程序的详细视频教程已上传至哔哩哔哩: 腾讯云开发小程序之用户输入数 ...

  8. 微信小程序云函数中的数据处理后返回

    微信小程序云函数中的数据处理后返回 本文主要演示的是,在微信云函数中调用数据库后,如何对获取的内容在云函数内处理后返回. 主函数 exports.main = async (event, contex ...

  9. 微信小程序 解决内层页面分享出去后 用户无法通过分享页面返回首页问题

    微信小程序 解决内层页面分享出去后 用户无法通过分享页面返回首页问题 本质就是设置一个变量isshare来判断是否是分享页面中进入的 data设置 isshare: 0,//不是分享页面进入 js o ...

最新文章

  1. 我的超级大魔王Cookie
  2. python3.6中@property装饰器的使用
  3. ASP.NET中常用的26个优化性能方法
  4. 【NLP】使用堆叠双向 LSTM 进行情感分析
  5. 【万字长文详解】Python库collections,让你击败99%的Pythoner
  6. idea清理svn信息_IntelliJ IDEA SVN的账号修改 信息清除
  7. HTML中轮播图里的圆点不充满,老师好,轮播图中的小点不显示
  8. 未来教育计算机二级答案19,2019年3月计算机二级MSOffice提分试题及答案019
  9. 面经 |算法工程师面试题汇总分享
  10. 33. Avoid Hiding inerited names
  11. jmeter性能测试实战_Jmeter接口测试实战篇:10分钟学会Jmeter的用法
  12. python实现移除某文件夹下所有文件
  13. android 信号检测工具,信号检测软件下载-Signal Strength 安卓版v23.0.1-PC6安卓网
  14. python-更新word目录
  15. On persistence in mutual fund performance 1997翻译
  16. Kotlin学习笔记五、控制语句
  17. 2021年全球及中国天然橡胶产量、消费量及价格走势分析:中国市场需求量急速增涨[图]
  18. Excel如何快速删除空白行?替换部分字符?
  19. python——通信原理,进程与线程
  20. mysql on cascade_MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE

热门文章

  1. 上传图片,MultipartHttpServletRequest 2020-09-07
  2. 求介绍一款实用的工作任务管理软件,具有进度管理、自动提醒等功能?谢谢
  3. irobot扫地机器人 电压_iRobot Roomba 770 智能扫地机器人(宽幅电压)
  4. stm32开发3D打印机(五)——TF卡spi协议与FATFS文件系统(已完成)
  5. 三星oneUI安装谷歌商店的方法
  6. 验证身份证号的工具类
  7. Latch-up初认识
  8. 从零开始搭建SpringBoot的Demo
  9. 基于单片机太阳能自动双轴追光电路仿真系统(毕设课设)
  10. 某移动端防作弊产品技术原理浅析与个人方案构想