安卓生命周期

package com.hgc.teststudy

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.util.Log
import com.hgc.teststudy.databinding.ActivityMainBinding

class MainActivity : Activity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        Log.d("Life", "onCreate")
    }

    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        Log.d("Life", "onSaveInstanceState")
    }

    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
        super.onRestoreInstanceState(savedInstanceState)
        Log.d("Life", "onRestoreInstanceState")
    }

    override fun onNewIntent(intent: Intent?) {
        super.onNewIntent(intent)
        Log.d("Life", "onNewIntent")
    }

    override fun onRestart() {
        super.onRestart()
        Log.d("Life", "onRestart")
    }

    override fun onStart() {
        super.onStart()
        Log.d("Life", "onStart")
    }

    override fun onPause() {
        super.onPause()
        Log.d("Life", "onPause")
    }

    override fun onResume() {
        super.onResume()
        Log.d("Life", "onResume")
    }

    override fun onStop() {
        super.onStop()
        Log.d("Life", "onStop")
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d("Life", "onDestroy")
    }

    companion object {
        fun startActivity(activity: Activity) {
            var intent = Intent(activity, MainActivity::class.java)
            activity.startActivity(intent)
        }
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        Log.d("Life", "onActivityResult")
    }
}

正常启动 走三个方法: onCreate onStart OnResume
2022-09-24 08:10:22.576 6654-6654/com.hgc.teststudy D/Life: onCreate
2022-09-24 08:10:22.578 6654-6654/com.hgc.teststudy D/Life: onStart
2022-09-24 08:10:22.580 6654-6654/com.hgc.teststudy D/Life: onResume
按下息屏键:
2022-09-24 08:13:33.104 6654-6654/com.hgc.teststudy D/Life: onPause
2022-09-24 08:13:33.125 6654-6654/com.hgc.teststudy D/Life: onStop
2022-09-24 08:13:33.129 6654-6654/com.hgc.teststudy D/Life: onSaveInstanceState
按下息屏键,在重新亮屏幕
2022-09-24 08:15:29.079 6654-6654/com.hgc.teststudy D/Life: onRestart
2022-09-24 08:15:29.082 6654-6654/com.hgc.teststudy D/Life: onStart
2022-09-24 08:15:29.083 6654-6654/com.hgc.teststudy D/Life: onResume
按下home键
2022-09-24 08:16:06.187 6654-6654/com.hgc.teststudy D/Life: onPause
2022-09-24 08:16:06.918 6654-6654/com.hgc.teststudy D/Life: onStop
2022-09-24 08:16:06.919 6654-6654/com.hgc.teststudy D/Life: onSaveInstanceState
按下home键,在重新启动
2022-09-24 08:18:40.083 6654-6654/com.hgc.teststudy D/Life: onRestart
2022-09-24 08:18:40.084 6654-6654/com.hgc.teststudy D/Life: onStart
2022-09-24 08:18:40.084 6654-6654/com.hgc.teststudy D/Life: onResume
按下返回键
2022-09-24 08:19:05.625 6654-6654/com.hgc.teststudy D/Life: onPause
2022-09-24 08:19:06.199 6654-6654/com.hgc.teststudy D/Life: onStop
2022-09-24 08:19:06.200 6654-6654/com.hgc.teststudy D/Life: onDestroy
按下返回键,在重新启动
2022-09-24 08:19:32.008 6654-6654/com.hgc.teststudy D/Life: onCreate
2022-09-24 08:19:32.013 6654-6654/com.hgc.teststudy D/Life: onStart
2022-09-24 08:19:32.014 6654-6654/com.hgc.teststudy D/Life: onResume
跳转一个LifeSecondActivity
2022-09-24 08:22:16.392 9977-9977/com.hgc.teststudy D/Life: onPause
2022-09-24 08:22:16.508 9977-9977/com.hgc.teststudy D/LifeSecondActivity: onCreate
2022-09-24 08:22:16.511 /com.hgc.teststudy D/LifeSecondActivity: onStart
2022-09-24 08:22:16.512 /com.hgc.teststudy D/LifeSecondActivity: onResume
2022-09-24 08:22:16.980 9977-9977/com.hgc.teststudy D/Life: onStop
2022-09-24 08:22:16.980 9977-9977/com.hgc.teststudy D/Life: onSaveInstanceState
跳转一个LifeSecondActivity,在跳回来
2022-09-24 08:38:23.458 14295-14295/com.hgc.teststudy D/LifeSecondActivity: onPause
2022-09-24 08:38:23.482 14295-14295/com.hgc.teststudy D/Life: onCreate
2022-09-24 08:38:23.484 14295-14295/com.hgc.teststudy D/Life: onStart
2022-09-24 08:38:23.484 14295-14295/com.hgc.teststudy D/Life: onResume
2022-09-24 08:38:23.939 14295-14295/com.hgc.teststudy D/LifeSecondActivity: onStop
2022-09-24 08:38:23.939 14295-14295/com.hgc.teststudy D/LifeSecondActivity: onSaveInstanceState
跳转一个LifeSecondActivity,返回键回来
2022-09-24 08:54:38.111 17916-17916/com.hgc.teststudy D/LifeSecondActivity: onPause
2022-09-24 08:54:38.137 17916-17916/com.hgc.teststudy D/Life: onRestart
2022-09-24 08:54:38.139 17916-17916/com.hgc.teststudy D/Life: onStart
2022-09-24 08:54:38.140 17916-17916/com.hgc.teststudy D/Life: onResume
2022-09-24 08:54:38.608 17916-17916/com.hgc.teststudy D/LifeSecondActivity: onStop
2022-09-24 08:54:38.609 17916-17916/com.hgc.teststudy D/LifeSecondActivity: onDestroy
跳转一个透明的LifeSecondActivity
2022-09-24 08:27:44.575 11498-11498/com.hgc.teststudy D/Life: onPause
2022-09-24 08:27:44.600 11498-11498/com.hgc.teststudy D/LifeSecondActivity: onCreate
2022-09-24 08:27:44.602 11498-11498/com.hgc.teststudy D/LifeSecondActivity: onStart
2022-09-24 08:27:44.602 11498-11498/com.hgc.teststudy D/LifeSecondActivity: onResume

跳转一个透明的LifeSecondActivity,在跳回来
2022-09-24 08:41:09.291 14966-14966/com.hgc.teststudy D/LifeSecondActivity: onPause
2022-09-24 08:41:09.309 14966-14966/com.hgc.teststudy D/Life: onCreate
2022-09-24 08:41:09.311 14966-14966/com.hgc.teststudy D/Life: onStart
2022-09-24 08:41:09.312 14966-14966/com.hgc.teststudy D/Life: onResume
2022-09-24 08:41:09.764 14966-14966/com.hgc.teststudy D/Life: onStop
2022-09-24 08:41:09.765 14966-14966/com.hgc.teststudy D/Life: onSaveInstanceState
2022-09-24 08:41:09.767 14966-14966/com.hgc.teststudy D/LifeSecondActivity: onStop
2022-09-24 08:41:09.767 14966-14966/com.hgc.teststudy D/LifeSecondActivity: onSaveInstanceState

跳转一个透明的LifeSecondActivity,返回键回来
2022-09-24 08:55:53.078 18440-18440/com.hgc.teststudy D/LifeSecondActivity: onPause
2022-09-24 08:55:53.110 18440-18440/com.hgc.teststudy D/Life: onResume
2022-09-24 08:55:53.113 18440-18440/com.hgc.teststudy D/LifeSecondActivity: onStop
2022-09-24 08:55:53.114 18440-18440/com.hgc.teststudy D/LifeSecondActivity: onDestroy

onNewIntent
单例模式(singleInstance) 1.第二次调用的时候才会回掉
2022-09-24 09:02:10.156 20029-20029/com.hgc.teststudy D/LifeSecondActivity: onRestart
2022-09-24 09:02:10.157 20029-20029/com.hgc.teststudy D/LifeSecondActivity: onStart
2022-09-24 09:02:10.158 20029-20029/com.hgc.teststudy D/LifeSecondActivity: onNewIntent
2022-09-24 09:02:10.158 20029-20029/com.hgc.teststudy D/LifeSecondActivity: onResume
onNewIntent
singleTask 1.同理第二次调用的时候才会回掉
由此可见onNewIntent在第二次跳到已经有的activity才会调用

onRestoreInstanceState
只有在activity被系统回收,重新创建activity的情况下才会被调用。

横屏切竖屏
2022-09-24 09:11:13.208 22081-22081/com.hgc.teststudy D/Life: onPause
2022-09-24 09:11:13.209 22081-22081/com.hgc.teststudy D/Life: onStop
2022-09-24 09:11:13.209 22081-22081/com.hgc.teststudy D/Life: onSaveInstanceState
2022-09-24 09:11:13.209 22081-22081/com.hgc.teststudy D/Life: onDestroy
2022-09-24 09:11:13.250 22081-22081/com.hgc.teststudy D/Life: onCreate
2022-09-24 09:11:13.260 22081-22081/com.hgc.teststudy D/Life: onStart
2022-09-24 09:11:13.260 22081-22081/com.hgc.teststudy D/Life: onRestoreInstanceState
2022-09-24 09:11:13.261 22081-22081/com.hgc.teststudy D/Life: onResume

竖屏切横屏
2022-09-24 09:12:59.049 22419-22419/com.hgc.teststudy D/Life: onPause
2022-09-24 09:12:59.050 22419-22419/com.hgc.teststudy D/Life: onStop
2022-09-24 09:12:59.050 22419-22419/com.hgc.teststudy D/Life: onSaveInstanceState
2022-09-24 09:12:59.050 22419-22419/com.hgc.teststudy D/Life: onDestroy
2022-09-24 09:12:59.076 22419-22419/com.hgc.teststudy D/Life: onCreate
2022-09-24 09:12:59.080 22419-22419/com.hgc.teststudy D/Life: onStart
2022-09-24 09:12:59.080 22419-22419/com.hgc.teststudy D/Life: onRestoreInstanceState
2022-09-24 09:12:59.081 22419-22419/com.hgc.teststudy D/Life: onResume

横屏切竖屏 清单配置 给Acitivty设置对配置不敏感             android:configChanges="keyboardHidden|screenSize|orientation"
不会再走,任何生命周期

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容