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

    你可能感兴趣的文章
    Openlayers实战:判断共享单车是否在电子围栏内
    查看>>
    Openlayers实战:利用turf获取两个多边形的交集、差集、并集
    查看>>
    Openlayers实战:加载Bing地图
    查看>>
    Openlayers实战:加载CSV文件
    查看>>
    Openlayers实战:加载GeoJSON
    查看>>
    Openlayers实战:加载GPX文件
    查看>>
    Openlayers实战:加载SHP文件
    查看>>
    Openlayers实战:点击某点,overlay显示经纬度坐标
    查看>>
    Openlayers实战:界面控制综合演示
    查看>>
    Openlayers实战:绘制图形,导出geojson文件
    查看>>
    Openlayers实战:绘制图形,导出KML文件
    查看>>
    Openlayers实战:绘制多边形,导出CSV文件
    查看>>
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:绘制点、线、圆、多边形
    查看>>
    Openlayers实战:绘制矩形,正方形,正六边形
    查看>>
    Openlayers实战:自定义放大缩小,显示zoom等级
    查看>>
    Openlayers实战:自定义版权属性信息
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers实战:选择feature,列表滑动,定位到相应的列表位置
    查看>>
    Openlayers实战:非4326,3857的投影
    查看>>