在activity和fragment中可以使用lifecycle对象来监听生命周期。

在Activity中添加监听

class LifecycleCallback : LifecycleObserver {    //和activity的生命周期一样,create、start、resume、pause、stop、destroy    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)    fun create(owner: LifecycleOwner) {        log("create")    }    @OnLifecycleEvent(Lifecycle.Event.ON_START)    fun start(owner: LifecycleOwner) {        log("start")    }    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)    fun resume(owner: LifecycleOwner) {        log("resume")    }    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)    fun pause(owner: LifecycleOwner) {        log("pause")    }    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)    fun stop(owner: LifecycleOwner) {        log("stop")    }    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)    fun destroy(owner: LifecycleOwner) {        log("destroy")    }    @OnLifecycleEvent(Lifecycle.Event.ON_ANY)    fun event(owner: LifecycleOwner, event: Lifecycle.Event) {        //包括上面所有的事件,使用event枚举对象区分        log("event:$event")    }}
class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        //添加观察者监听生命周期的变化        lifecycle.addObserver(LifecycleCallback())    }}

打印日志

//打开activity
create
event:ON_CREATE
start
event:ON_START
resume
event:ON_RESUME


//按home键
pause
event:ON_PAUSE
stop
event:ON_STOP


//从任务管理切换回app
start
event:ON_START
resume
event:ON_RESUME


//按返回键关闭activity
pause
event:ON_PAUSE
stop
event:ON_STOP
destroy
event:ON_DESTROY

 

在Fragment中添加监听

class MainActivity : AppCompatActivity() {    private val fragment = MainFragment()    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        supportFragmentManager.beginTransaction()                .add(R.id.container, fragment)                .commit()    }}
class MainFragment: Fragment() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        lifecycle.addObserver(LifecycleCallback())    }}

打印日志

//打开activity
create
event:ON_CREATE
start
event:ON_START
resume
event:ON_RESUME


//按home键
pause
event:ON_PAUSE
stop
event:ON_STOP


//从任务管理切换回app
start
event:ON_START
resume
event:ON_RESUME


//按返回键关闭activity
pause
event:ON_PAUSE
stop
event:ON_STOP
destroy
event:ON_DESTROY

 

更多相关文章

  1. Android(安卓)ListView 和 BaseAdapter 的使用
  2. Android控件开发之四----ListView(4)
  3. [置顶] Android(安卓)IPC 通讯机制源码分析【下】
  4. Android(安卓)Wifi --自动连接指定SSID(各种加密方式均可)
  5. android4.4.2 bluetooth解析(二)
  6. strut2服务器与android交互数据
  7. System.out.println()和Log耗时之比
  8. Android中实现短信发送的一种方式
  9. Android周报第二十四期

随机推荐

  1. android拦截短信并屏蔽系统的Notificatio
  2. Android学习笔记2-如何开始第一个项目?
  3. Android MotionEvent 坐标获取
  4. Android中选择账户
  5. [Network]Android N Ethernet新IP获取机
  6. Android连接指定的wifi热点
  7. android 日期选择器自由天数内展示
  8. Android Framework 框架系列之 AlarmMana
  9. Android 音频源码目录
  10. android 中的二维码生成与去除白边