uniapp中onLoad生命周期的一个坑:获取activity实例的问题
在开发uni-app时,很多人都遇到过页面生命周期相关的问题,特别是在Android平台上,我也曾因为生命周期的处理而纠结了好一阵子。今天就来和大家分享一下关于onLoad
生命周期中获取activity
实例的问题,看看如何规避这个坑。
背景
在uni-app中开发Android平台应用时,可能会遇到需要获取当前页面的activity
实例的需求。通常情况下,我们可能会在onLoad
生命周期中去获取这个实例。但是,你有没有发现,获取到的activity
实例并不是我们期望的当前页面的实例,而是上一个页面的实例,或者是应用默认的activity
实例?这是为什么呢?
问题原因
在uni-app中,onLoad
生命周期会在页面加载时触发,但此时页面的activity
实例还没有完全创建。在onLoad
阶段,实际上当前页面的activity
还没有准备好,因此我们获取到的并不是当前页面的实例,