首页 > 其他 > 详细

JetPack(三)LifeCycles

时间:2020-05-28 23:14:54      阅读:60      评论:0      收藏:0      [点我收藏+]

LifeCycles

生命周期感知组件执行响应另一个组件生命周期状态变化的操作,例如活动和片段。这些组件可以帮助您生成更易于维护的组织良好的、轻量级的代码。

用法很简单

只需要实现LifecycleObserver,下面以一个计时器为例,当活动暂停的时候计时器暂停,当活动恢复的时候计时器恢复

public class MyChronometer extends Chronometer implements LifecycleObserver {

    private  long realTime;
    public MyChronometer(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
//暂停
    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    private void pauseMeter(){
          realTime = SystemClock.elapsedRealtime() - getBase();
          stop();
    }
//恢复
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    private void startMeter(){
        setBase(SystemClock.elapsedRealtime()-realTime);
        start();
    }
}

在activity中添加观察者

        mChronometer = findViewById(R.id.chronometer);
        getLifecycle().addObserver(mChronometer);

JetPack(三)LifeCycles

原文:https://www.cnblogs.com/cnman/p/12984596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!