来源:快应用官方论坛
作者:zephyrtune
最近碰到一些开发者在咨询:快应用“如何判断退到后台”的问题。正好之前在写功能的时候,也遇到过这个问题,我觉得可以和大家分享下我的经验。
解决这个问题的时候,确实费了我不少脑细胞。作为一个已入坑的老人,想对新入坑的开发者说一句:不入不知坑深,一入一坑到底!
玩笑归玩笑,问题归问题,需求还是要解决的。
目录:
-
【生命周期】探索
-
【退到后台】实现原理
-
【回到前台】及【特殊场景】处理
-
【代码实现】
【生命周期】探索
快应用的生命周期,我就不再赘述了,大家可以参考官方文档:
ttps://doc.quickapp.cn/tutorial/framework/lifecycle.html。
可以看到快应用提供了2个APP级别的事件,7个页面级别的事件、2个页面状态变量。
在这所有的事件和变量里面,没有为【退到后台】和【回到前台】提供单独的回调事件。所以解决这个问题,变得有些棘手,尤其当时还是新手的我,略懵!
但需求还是要做,不过需求延期了。(这里要感谢下领导,还是比较宽容的!)
期间我把所有的事件回调都调试了一遍,依然没什么收获。一番折腾以后,我决定还是把所有的目光都聚焦到onHide()和onShow()这两个事件上。
单独看onHide()这个事件,它在页面被切换隐藏时调用,不管页面是【跳转】还是【退到后台】,都会触发这个事件。所以只要能把【跳转】和【退到后台】区分出来,问题就引刃而解了。
想到这一点的我,感觉眼前一切光明!但具体如何区分呢?瞬间又让我陷入了深深的沉思之中。