当前位置: 首页 > 知识库问答 >
问题:

不能信任AAC生命周期的当前状态

范哲
2023-03-14

getLifecycle().getCurrentState()给出了错误的状态。

    null
    null
    null

我尝试使用下面的代码。我搜索了谷歌,但没有人对此有奇怪的想法。我是不是少了点什么?

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.i(MainActivity::class.java.name, "onCreate : " + lifecycle.currentState.name)
    }

    override fun onStart() {
        super.onStart()
        Log.i(MainActivity::class.java.name, "onStart : " + lifecycle.currentState.name)
    }

    override fun onResume() {
        super.onResume()
        Log.i(MainActivity::class.java.name, "onResume : " + lifecycle.currentState.name)
    }

    override fun onPause() {
        super.onPause()
        Log.i(MainActivity::class.java.name, "onPause : " + lifecycle.currentState.name)
    }

    override fun onStop() {
        super.onStop()
        Log.i(MainActivity::class.java.name, "onStop : " + lifecycle.currentState.name)
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.i(MainActivity::class.java.name, "onDestroy : " + lifecycle.currentState.name)
    }
}

共有1个答案

袁建木
2023-03-14

如果您查看文档:https://developer.android.com/topic/libraries/architecture/Lifecycle,您的实际行为就是预期行为

把状态看作图的节点,把事件看作这些节点之间的边。

 类似资料:
  • 注:本文档提供的生命周期指的是 Universal App 的生命周期,它依赖 rax-app 提供的 runApp方法。 App 级生命周期 launch  在 App 启动时触发 使用生命周期 你可以使用 rax-app 提供的 useAppLaunch 来注册 App 级别的生命周期。 示例: import { useAppLaunch } from 'rax-app'; useAppLa

  • 我们大致为WebAPplication设计了4个生命周期: 请求初始化其实就是从URL中解析提取出{module}, {action}, {method}; 然后再根据{module}, {action}, {method}找到对应的Controller文件; 然后再调用对应的{method},完了之后再发送响应。当然响应的过程中肯定是要顺带着解析下模板标签啦。 恩,这就完了,貌似感觉很简单啊。

  • 如下图. 可以看出,基本周期是: created mounted updated (update 可以理解成人肉手动操作触发) destroyed 上面步骤中的 1,3,4都是自动触发。 每个步骤都有对应的 beforeXyz方法 所以, 我们一般使用mounted 作为页面初始化时执行的方法

  • 概览 组件的生命周期分为三个阶段:挂载、渲染、卸载,下图展示了解组件在整个生命周期中所涉及到的方法调用、原型方法调用和状态变化。 挂载阶段 从组件实例被创建再到被插入根组件树中,所经历的操作如下: 初始化组件实例。 根据组件类型绑定对应的原型。 调用 proto->init() 原型方法。 标记组件需要刷新全部样式。 因父组件变为另外一个组件,触发 link 事件。 更新阶段 当组件被插入到根组件

  • 框架生命周期 Hyperf 是运行于 Swoole 之上的,想要理解透彻 Hyperf 的生命周期,那么理解 Swoole 的生命周期也至关重要。 Hyperf 的命令管理默认由 symfony/console 提供支持(如果您希望更换该组件您也可以通过改变 skeleton 的入口文件更换成您希望使用的组件),在执行 php bin/hyperf.php start 后,将由 Hyperf\Se

  • Lifecycle 生命周期函数 用于监听游戏进入前台、后台、最大化、最小化、网络状态改变、游戏关闭、游戏分享事件。 取消监听需要传入和监听函数同一个回调函数。 BK.onEnterForeground(Function()) 监听游戏进入前台事件,手Q进程从后台回到前台 手Q版本:>7.6.5 示例: function enterForegroundListener(){ BK.Scri