1.鸿蒙Ability生命周期流程图

 如图,我可以发现,HarmonyOS的页面生命周期大致分为六个函数:onStart(),onActive(),onBackground(),onInactive(),onStop(),onForeground()

那这个六个函数分别是什么作用呢?什么时候执行的呢?

1.六个函数分别是什么作用?

onStart():当Ability首次运行时被触发

onActive():当Ability被激活时被触发

onBackground():当Ability完全不可见时被触发

onInactive():当Ability被隐藏,离开当前Ability时被触发

onStop():当Ability被销毁时被触发

onForeground():从第二个Ability页面返回时第一个Ability时被触发

2.六个函数什么时候执行?

接下来直接上代码看效果

package com.example.myllfecycledemo;

import com.example.myllfecycledemo.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;

public class MainAbility extends Ability {
    public static final HiLogLabel LogPrintf;

    private static final int MY_MODULE = 0x007;

    static {
        LogPrintf = new HiLogLabel(HiLog.LOG_APP, MY_MODULE, "MylLfeCycleDemo");
    }

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
        HiLog.info(LogPrintf,"我是onStart方法");
    }

    @Override
    protected void onActive() {
        super.onActive();
        HiLog.info(LogPrintf,"我是onActive方法");
    }

    @Override
    protected void onBackground() {
        super.onBackground();
        HiLog.info(LogPrintf,"我是onBackground方法");
    }

    @Override
    protected void onInactive() {
        super.onInactive();
        HiLog.info(LogPrintf,"我是onInactive方法");
    }

    @Override
    protected void onStop() {
        super.onStop();
        HiLog.info(LogPrintf,"我是onStop方法");
    }

    @Override
    protected void onForeground(Intent intent) {
        super.onForeground(intent);
        HiLog.info(LogPrintf,"我是onForeground方法");
    }
}

如上,就可以了解到我们各个函数都是什么时候执行的了。

当我们第一次运行Ability时,会执行onStart(),onActive(),执行结果如下:

    

当我们点击文本跳转第二个页面时,会执行onInactive(),onBackground()函数,执行结果如下:

当我们从第二个页面返回第一个页面时,会执行onForeground(),onActive()函数,执行结果如下:

 当我们点击返回,退出当前程序时,会执行 onInactive(),onBackground(),onStop()函数,执行结果如下:

 这些大概就是HarmonyOS应用的生命周期,以及何时被触发的场景。

点击链接查看完整代码[一套代码了解HarmonyOS的生命周期.rar-Java文档类资源-CSDN下载]

分享不易,都观看到这里了,还不点赞收藏嘛!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐