小书1998
小书1998
  • 发布:2024-10-25 15:35
  • 更新:2024-10-28 16:20
  • 阅读:96

【报Bug】ios端直接kill应用进程,onhide里的相关逻辑不执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.29

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: 苹果13

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

onHide: function () {
console.log("-----APP-------------- onHide111111----")
// #ifdef MP-WEIXIN
//微信小程序需要 onHide时 退出im登录 (??)
this.imlogoutfunc();
// #endif

    console.log("-----APP-------------- onHide22222----")  
    // 应用程序进入后台 需要设置极光别名 可以发送极光推送  
    // #ifdef APP-PLUS  

        uni.setStorageSync('version_expired', false)  //重置版本过期弹窗flag  
        // this.setJGpushAlias();  
        console.log("-----APP-------------- onHide333333----")  
        this.lifeCycleOnhideEvent()  
    // #endif  

},

操作步骤:

ios运行app时直接kill进程(注意不是在后台运行的时候kill)

预期结果:

执行完onhide里的逻辑

实际结果:

只执行了第一个console

bug描述:

ios端直接kill应用进程,onhide里的相关逻辑不执行。ios端的应用进入后台时完整执行了onhide里的操作逻辑,但是在前台运行立马kill进程时,会进入onhide,但是不会完成执行完里面的逻辑

2024-10-25 15:35 负责人:DCloud_UNI_OttoJi 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

你这里提到的 kill 进程,具体如何操作,是用户上拉触控条,出现多任务缩略图时候选中引用滑动关闭吗?

  • 小书1998 (作者)

    是的 从应用前台,用户上拉触控条后,立马kill进程

    2024-10-30 15:39

  • DCloud_UNI_OttoJi

    回复 小书1998: 你尝试把 onHide 针对平台单独拆开写试试,我复现了这个问题,怀疑和代码里的的 weixin 的条件编译影响了后续的打印

    2024-10-30 16:02

  • 小书1998 (作者)

    回复 DCloud_UNI_OttoJi: 还是不行

    // #ifdef APP-PLUS

    onHide: function () {

    plus.runtime.setBadgeNumber(0);

    uni.setStorageSync('version_expired', false) //重置版本过期弹窗flag

    this.lifeCycleOnhideEvent()// 应用程序进入后台 需要设置极光别名 可以发送极光推送 这个方法放在着 在APPios端直接清除进程的时候没用

    },

    // #endif


    // #ifdef MP-WEIXIN  
    onHide: function () {
    //微信小程序需要 onHide时 退出im登录 (??)
    this.imlogoutfunc();
    },
    // #endif

    lifeCycleOnhideEvent(){

    Api.lifeCycleOnhide()

    console.log("-------lifeCycleOnhideEvent-------")

    }

    打印了lifeCycleOnhideEvent 但是请求还是没发送出去

    2024-11-04 17:18

  • DCloud_UNI_OttoJi

    回复 小书1998: 强杀应用这种情况是系统限制,留给事件触发的时间和资源有限,不能保证执行和全部执行,如果是系统负载高关闭应用,有更多事件和资源

    2024-11-05 12:06

  • DCloud_UNI_OttoJi

    回复 小书1998: 关键词,系统限制,不能保证一定执行、和全部执行。同步阻塞的 api、异步请求的 api 都不稳定

    2024-11-05 12:08

要回复问题请先登录注册