五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

觀察者模式之EventBus

2023-07-10 12:24 作者:便宜酒  | 我要投稿

基本要素:被觀察者Subject要有notify方法,用于遍歷觀察者Observer,并調(diào)用觀察者的update方法。觀察者要重寫update方法。

說明:雖然Java中已經(jīng)提供了Observer和Observable這兩個接口,但是它們并不是最好的選擇。因為它們存在一些缺陷,比如Observable是一個類而不是接口,從而限制了被觀察者對象的繼承層次;同時,Observer接口只提供了一個update()方法,不能夠滿足復(fù)雜的業(yè)務(wù)需求。因此,在實際開發(fā)中,我們可以自己定義Subject和Observer接口。

【EventBus】

demo介紹: 兩個頁面之間使用eventbus傳遞信息,第一個頁面作為發(fā)布者將一些用于ai畫圖的詞語,發(fā)送給第二個作圖頁面,也就是觀察者,進行作圖

發(fā)布者

訂閱者

基本步驟:

1.構(gòu)建事件類

事件很簡單,就是ai畫圖要用的描述詞。右邊是02。


2.在觀察者中注冊register和解除綁定

注冊

解綁

3.在觀察者中使用@Subscribe(threadMode ?=?)訂閱事件

eventbus的線程介紹:

POSTING: 默認模式

表示發(fā)送事件 post() 發(fā)生在哪個線程,接收事件就發(fā)生在哪個線程環(huán)境中。

MAIN / MAIN_ODERED: 主線程接收事件

表示無論事件在什么線程環(huán)境發(fā)布 post(),事件的接收總是在主線程環(huán)境執(zhí)行。

?BACKGROUND:

不管post事件發(fā)生在那個線程環(huán)境,?事件接收始終在一個子線程中執(zhí)行。

?ASYNC:

不管post事件處于哪種線程環(huán)境,事件接收處理總是在子線程。

4.被觀察者使用EventBus的post方法發(fā)送事件。

EventBus缺點

1、使用的時候有定義很多event類
2、event在注冊的時候會調(diào)用反射去遍歷注冊對象的方法在其中找出帶有@subscriber標簽的方法,性能不高。
3、需要自己注冊和反注冊,如果忘了反注冊就會導(dǎo)致內(nèi)存泄漏


觀察者模式之EventBus的評論 (共 條)

分享到微博請遵守國家法律
怀安县| 瑞金市| 涡阳县| 天峨县| 曲阳县| 高尔夫| 红桥区| 托克逊县| 溆浦县| 沙洋县| 黎川县| 琼海市| 广水市| 鹰潭市| 高尔夫| 赣州市| 革吉县| 南澳县| 大丰市| 宁波市| 梨树县| 福贡县| 永新县| 沅陵县| 海宁市| 江都市| 开鲁县| 乐业县| 林甸县| 饶阳县| 新丰县| 六枝特区| 江阴市| 原平市| 新兴县| 深州市| 淅川县| 日喀则市| 五原县| 大冶市| 子长县|