Jetpack.jpg
1.前言
- 2018年谷歌I/O 發(fā)布了一系列輔助android開發(fā)者的實(shí)用工具愕把,合稱 Jetpack 森爽,以幫助開發(fā)者構(gòu)建出色的 Android 應(yīng)用。
- Jetpack 包含4個(gè)部分的組件:Architecture橘蜜、Foundation雕旨、Behavior 以及 UI 捧请。
- 今天為大家介紹的是 Architecture 中
Lifecycles
疹蛉。 - 文章中實(shí)例 linhaojian的Github
2.簡(jiǎn)介
- 介紹 :
Lifecycles 包含有關(guān)Activity與Fragment生命周期狀態(tài)的信息,并允許其他對(duì)象觀察此狀態(tài) - 作用:
1.觀察組件(Activtiy育韩、Fragment)的生命周期狀態(tài)。
3.使用
- 創(chuàng)建觀察者
public class MyObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void connectListener() {
...
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void disconnectListener() {
...
}
}
- 關(guān)聯(lián)Activity有 2 種方式(Fragment同理):
- AppCompatActivity
class MyActivity extends AppCompatActivity {
public void onCreate(...) {
//添加觀察者
getLifecycle().addObserver(new MyObserver());
}
}
- Activity
public class MyActivity extends Activity implements LifecycleOwner {
private LifecycleRegistry mLifecycleRegistry;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mLifecycleRegistry = new LifecycleRegistry(this);
mLifecycleRegistry.markState(Lifecycle.State.CREATED);
//添加觀察者
getLifecycle().addObserver(new MyObserver());
}
@Override
public void onStart() {
super.onStart();
mLifecycleRegistry.markState(Lifecycle.State.STARTED);
}
@NonNull
@Override
public Lifecycle getLifecycle() {
return mLifecycleRegistry;
}
}
4.總結(jié)
- 到此埃叭,
Lifecycles
就介紹完成了悉罕。后續(xù)我會(huì)進(jìn)行分享Jetpack更多其他內(nèi)容壁袄。 - 如果喜歡我的分享,可以點(diǎn)擊 關(guān)注 或者 贊嗜逻,你們支持是我分享的最大動(dòng)力 栈顷。
- linhaojian的Github
歡迎關(guān)注linhaojian_CSDN博客或者linhaojian_簡(jiǎn)書!
不定期分享關(guān)于安卓開發(fā)的干貨屏富。
寫技術(shù)文章初心
- 技術(shù)知識(shí)積累
- 技術(shù)知識(shí)鞏固
- 技術(shù)知識(shí)分享
- 技術(shù)知識(shí)交流