IOS 廣播機制與 android 廣播機制對比

2021-06-21 14:28:20 字數 899 閱讀 1386

android下廣播機制的實現機制:

1.傳送  context的 sendbroadcast實現,傳入intent即可,intent提供了攜帶很多基本型別等的方法,如果想傳遞複雜物件,應該實現parcelable介面,parcelable介面提供了物件序列化的一系列方法。

2.接收   接收主要有兩種方法:

一、在anroidmanifest.xml種註冊,需要單獨實現乙個receiver (繼承自broadcastreceiver ,實現onreceive方      法),這種方法註冊的永遠有效 

二、**註冊的方法實現,自定義好intentfilter,呼叫context的registerreceiver的方法,用這種方法實現,需要在當前上下文生命週期方法呼叫unregisterreceiver,否則導致記憶體洩漏。

ios下實現類似廣播機制是要利用nsnotificationcenter。

1. 註冊(也可以理解為接收)

[[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(onreceive:) name:@"_post" object:obj];

注意在實現onreceive方法時應該傳遞nsnotification物件,和intent有一樣

-(void)onreceive:(nsnotification *) notification

2.傳送

,其中name是nsnotification的唯一標示,object可以傳遞各種引數,userinfo 字典類資訊

[[nsnotificationcenter defaultcenter] postnotificationname:

@"_post"

object:obj userinfo:userinfo];

IOS 廣播機制與 android 廣播機制對比

android下廣播機制的實現機制 1.傳送 context的 sendbroadcast實現,傳入intent即可,intent提供了攜帶很多基本型別等的方法,如果想傳遞複雜物件,應該實現parcelable介面,parcelable介面提供了物件序列化的一系列方法。2.接收 接收主要有兩種方法 ...

android 廣播機制

1 首先說andoid 廣播分為系統的和 自定義的 2 註冊方式呢,也是兩種,1 靜態註冊,在manifest.xml 檔案中註冊的 2 動態註冊,用filter 區分 不說了 佔 首先是動態註冊 broadreceiver re new broadreceiver 自己定義的接收器 intentf...

android廣播機制

android中系統事件傳送乙個廣播訊息,如果應用監聽系統廣播就會收到。普通廣播 也叫無序廣播 有序廣播 可以被攔截 粘性廣播 等待被處理 廣播註冊有兩種方式,動態註冊和靜態註冊。註冊叫做動態註冊,比需應用啟動 並且與相應activity繫結 才有效,靜態註冊不管應用是否啟動都有效 是有點流氓 廣播...