博客
关于我
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/

    你可能感兴趣的文章
    Pandas-通过对列和索引的值求和来合并两个数据框
    查看>>
    pandas.read_csv()的详解-ChatGPT4o作答
    查看>>
    Pandas数据可视化怎么做?用实战案例告诉你!
    查看>>
    Pandas数据结构之DataFrame常见操作
    查看>>
    pandas整合多份csv文件
    查看>>
    pandas某一列转数组list
    查看>>
    pandas的to_sql方法中使用if_exists=‘replace‘
    查看>>
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    PATA1038题解(需复习)
    查看>>
    Path does not chain with any of the trust anchors
    查看>>
    Path形状获取字符串型变量数据
    查看>>
    PAT甲级——1001 A+B Format (20分)
    查看>>
    PAT甲级——1006 Sign In and Sign Out (25分)
    查看>>
    PAT甲级——1007 Maximum Subsequence Sum (25分)
    查看>>
    PAT甲级——1009 Product of Polynomials (25分)(最后一个测试点段错误)
    查看>>
    PayPal网站付款标准版(for PHP)
    查看>>
    Paystack Android SDK 集成与使用指南
    查看>>
    pbf格式详解,javascript加载导出pbf文件示例
    查看>>
    PbootCMS entrance.php SQL注入漏洞复现
    查看>>