uni-app 长时间后台挂起后重新唤醒,仅部分页面能进行request请求,多数request失效,杀进程重启亦无效,需卸载重装

uni-app 长时间后台挂起后重新唤醒,仅部分页面能进行request请求,多数request失效,杀进程重启亦无效,需卸载重装

7 回复

我也出现了

更多关于uni-app 长时间后台挂起后重新唤醒,仅部分页面能进行request请求,多数request失效,杀进程重启亦无效,需卸载重装的实战教程也可以访问 https://www.itying.com/category-93-b0.html


展开分析下你的问题, 首先uni-app的js逻辑是在独立的js引擎里,不是在页面上。联网是独立引擎联网的,不是页面联网。如果某些页面能获取数据,某些页面不能,那么需要检查那些不能获取数据的页面的代码写法。 然后如果卸载app后一切正常,那么就和本地缓存有关系了。 推测是某些操作生成了缓存数据,然后某些页面被缓存数据干扰无法正常接受联网拿到的数据。

感谢回复。我们细查下了确实是缓存数据的问题,问题已解决

最近更新了Hbuilder软件,打包后无法唤醒APP,是什么原因,之前都是可以的,有没有增加什么配置

您好,我也遇到了相同的问题,请问您是怎么解决的,谢谢

你好,请问怎么解决的?我们也出现了相同的问题,急需解决,谢谢

这是一个典型的uni-app后台运行后网络请求失效的问题,可能涉及以下几个方面:

  1. 网络连接状态管理问题:
  • 应用从后台恢复时,网络模块可能未正确重新初始化
  • 部分页面保留了有效的网络连接,而其他页面的连接已断开
  1. 解决方案建议:
  • 在App.vue的onShow生命周期中主动检查并重置网络状态
  • 对request请求添加重试机制,捕获失败后自动重连
  • 使用uni.onNetworkStatusChange监听网络变化,及时处理异常状态
  1. 代码示例:
// 在App.vue中
onShow: function() {
  this.checkNetworkStatus()
},
methods: {
  checkNetworkStatus() {
    uni.getNetworkType({
      success: (res) => {
        if(res.networkType === 'none') {
          uni.reLaunch({url: '/pages/error/network'})
        }
      }
    })
  }
}
回到顶部