【微信小程序】安卓版后台与ios版后台处理小程序不同

601 阅读1分钟

起因

  • 需求:发布订阅功能需要能够一直挂在后台。

  • 出现问题:由于小程序运行机制——30分钟后会销毁进程,导致连接中断。所以需要重新订阅。

    • 重新订阅:

      • 实现:通过捕获连接中断产生的报错,来递归订阅。
  • 结果:

    • iso:可以实现´后台停留一阵回到小程序,小程序重新订阅。
    • 安卓:停留一阵回到小程序,小程序无法重新订阅。

经过

  • 对比iso和安卓处理小程序后台

    • iso处理小程序后台的方式像是微信中的一个线程,后台不会单独将小程序拆分出一个进程来。

    • 安卓处理小程序后台,则是拆分出一个进程来——后台会显示两个进程(小程序和微信)。

      • 即便后台删除微信进程,小程序依旧可以以一个独立的进程调来运行小程序。

结果

  • 通过小程序生命周期

    • 监听onShowonHide,模拟一次登出重新订阅的操作,从而实现无感订阅。

总结

  • 安卓微信处理小程序是以进程方式打开,即便关闭微信,小程序依旧可以在后台正常运行。
  • iso版微信处理小程序则是微信中的线程,微信关闭,小程序一并关闭。

最后

  • 该博客仅为个人理解,与实际可能有所偏差,也恳请读者在评论区中帮忙指出,谢谢。