博客
关于我
android Lifecycle源码分析--源码阅读100天(1)
阅读量:244 次
发布时间:2019-02-28

本文共 1687 字,大约阅读时间需要 5 分钟。

Lifecycle???????????????????????????????Activity?Fragment?????????????????????????????????????????????????

1. ??

Lifecycle????????????????Fragment?Activity????????????????????????????????????????????Presenter????????????????????

????

class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        lifecycle.addObserver(Presenter())    }}class Presenter : LifecycleObserver {    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)    fun onCreate() {        println("presenter oncreate")    }    @OnLifecycleEvent(Lifecycle.Event.ON_START)    fun onStart() {        println("presenter onstart")    }    // ????????...}

???????Presenter?Activity????????????????????????????Presenter??????Activity?????????????????????????????


2. ??

2.1 ?????

Lifecycle??????????????????LifecycleRegistry???????????????LifecycleObserver???????????????????

2.2 ??????

Lifecycle????Fragment?Activity????????????SupportActivity??LifecycleOwner????????????LifecycleRegistry??Fragment?Activity???????????LifecycleRegistry??????????????LifecycleObserver?

2.3 LifecycleRegistry??

LifecycleRegistry?Lifecycle???????????????????????????

  • addObserver??

    ???????LifecycleRegistry?????ObserverWithState?????????????????FastSafeIterableMap??

  • handleLifecycleEvent??

    ??????????????????????????sync???????

  • sync??

    ????????????????????backwardPass?forwardPass???????????????????????????

  • forwardPass??

    ???????????????dispatchEvent?????????????

  • dispatchEvent??

    ????????????????????????ReflectiveGenericLifecycleObserver??????????


  • ???????Lifecycle??????????????????????????????????????

    ????????????????????

    转载地址:http://nbls.baihongyu.com/

    你可能感兴趣的文章
    python2.7安装
    查看>>
    Python2.7安装ncmbot时提示:Microsoft Visual C++9.0 is required
    查看>>
    PYTHON2.Git.1
    查看>>
    python20181211
    查看>>
    Python内存管理机制
    查看>>
    Python2中range 和xrange的区别??
    查看>>
    python2和3的区别
    查看>>
    python2和python3的pip版本升级
    查看>>
    python2和python3的区别
    查看>>
    python2备份交换机配置脚本
    查看>>
    Python3 - 在字符串格式化程序参数中使用变量
    查看>>
    Python3 A*寻路算法实现
    查看>>
    python3 grpc安装
    查看>>
    python3 mysql 封装多表_python3 mysql-多表查询
    查看>>
    python3 mysql8_Python MySQL8.0 错误:authentication plugin 'calling_sha2_password' is not supported....
    查看>>
    Python关键代码总览!从Zero到Hero必看的考点
    查看>>
    python3 robotframework+pycharm框架搭建
    查看>>
    Python3 shutil模块
    查看>>
    Python关于strftime函数详细解析 附实战代码
    查看>>
    Python3 tutorial day3
    查看>>