无法信任AAC生命周期的当前状态

时间:2018-08-20 02:05:31

标签: android android-lifecycle android-architecture-components android-architecture-lifecycle

问题摘要

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

环境(集成库,操作系统等)

  • compileSdkVersion:27
  • targetSdkVersion:27
  • 支持库:27.1.1

预期行为

  • onCreate()->创建
  • onStart()->已启动
  • onResume()->恢复
  • onPause()->已开始
  • onStop()->创建
  • onDestroy()->被破坏

实际行为

  • onCreate:已初始化
  • onStart:已创建
  • onResume:开始
  • onPause:已开始
  • onStop:已创建
  • onDestroy:已毁

问题详细信息

我尝试使用下面的代码。 我搜索了谷歌,但没有人对此感到奇怪。 我缺少什么吗?

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 个答案:

答案 0 :(得分:0)

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

lifecycle

将状态视为图的节点,将事件视为这些节点之间的边缘。