生命周期观察者LifecycleObrver

更新时间:2023-06-21 22:08:48 阅读: 评论:0

⽣命周期观察者LifecycleObrver
转载请注明出处:Write By xyx In cdsn @包罗万码
原⽂地址:
杂音为了⽅便Activity的代码优化,Android推出了⽣命周期观察者,复杂活简单说,
先看代码:这是⼀个声明周期的观察者类;
学习交谊舞
public class MyObrver implements LifecycleObrver {
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void ready(){
Log.e("--LifecycleObrver","ON_START");
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void connectListener() {
Log.e("--LifecycleObrver","ON_RESUME");
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
四六级考试流程public void disconnectListener() {
Log.e("--LifecycleObrver","ON_PAUSE");电子工艺实训
}
}
在你的Activity中调⽤下⾯这句话
getLifecycle().addObrver(new MyObrver());
啥个意思:就是把Activity中⽣命周期的⽅法延伸给另外⼀个类, 让另外⼀个类去处理⽣命周期的⽅法,缩⼩了Activity的代码量
Activity只负责绘制UI部分的代码
Activity部分你也可以这么写让它实现:LifecycleOwner澳大利亚买房
如果您要创建⾃定义类,则 LifecycleOwner可以使⽤ LifecycleRegistry 类,但需要将事件转发到该类,如以下代码⽰例所⽰:
说了那么多没看懂,LifecycleOwner啥个意思,既然他LifecycleObrver 是⼀个观察者,那么就可以⽤来注册观察者,LifecycleOwner通过LifecycleRegistry ⽤来控制LifecycleObrver,爱戴的意思
Activity中注释这个代码//getLifecycle().addObrver(new MyObrver());
public class WelcomeActivity extends AppCompatActivity implements LifecycleOwner {
//...
LifecycleRegistry lifecycleRegistry;
private MyObrver myObrver;
@Override
protected void onCreate(Bundle savedInstanceState) {
闽剧甘国宝tContentView(R.layout.activity_welcome);
//...
lifecycleRegistry = new LifecycleRegistry(this);
myObrver = new MyObrver();
lifecycleRegistry.addObrver(myObrver);
lifecycleRegistry.markState(Lifecycle.State.CREATED);
//...
}
@Override
protected void onStart() {
myObrver.disconnectListener();//通知者的断开连接,会直接跳到Activity的onPau⽅法()
}
@Override
protected void onPau() {
Log.e("--", "Activity---onPau: " );
lifecycleRegistry.markState(Lifecycle.State.STARTED);//进⼊了Activity的StartED状态夜的邂逅
}
@Override
public Lifecycle getLifecycle() {
return lifecycleRegistry;
}
}
Lifecycle.State 跟 Lifecycle.Event今晚暂不更新解说
2018-10-14 22:59:28.315 21461-21461 /... E/--LifecycleObrver: ON_PAUSE 2018-10-14 22:59:28.316 21461-21461/....E/--LifecycleObrver: ON_START 2018-10-14 22:59:28.317 21461-21461/.... E/--LifecycleObrver: ON_RESUME 2018-10-14 22:59:28.343 21461-21461/.... E/--LifecycleObrver: ON_PAUSE 2018-10-14 22:59:28.343 21461-21461/..... E/--: Activity---onPau:
看到log⾥边,会直接进⼊Activity的onPau状态:
这个LifecycleOwner使得Activity的⽣命周期变成了可随意调整的状态模式

本文发布于:2023-06-21 22:08:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1008844.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:代码   调整   观察者   个类   部分   绘制
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图