日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

android监听器作用,android - 监听器和接收器(Android)有什么区别?

發(fā)布時(shí)間:2023/12/10 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android监听器作用,android - 监听器和接收器(Android)有什么区别? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

例如,我需要一個(gè)BroadcastReceiver來(lái)獲取這些事件:

重新啟動(dòng)或關(guān)機(jī)

屏幕開(kāi)或關(guān)

電池狀態(tài)(電壓,接通電源,溫度)

物理按鈕按下(相機(jī),媒體等)

但是我需要監(jiān)聽(tīng)器來(lái)獲取以下事件:

用于傳感器事件(加速度,磁場(chǎng),方向,接近度,溫度,光照水平等)的EventListener

用于位置事件的LocationListener(網(wǎng)絡(luò)位置,GPS)

似乎接收方和監(jiān)聽(tīng)方都存在,以便我可以接收事件。除了明顯的語(yǔ)義差異之外,兩者之間還有什么區(qū)別?我可以在其中一項(xiàng)上做其他事情,而不能在另一項(xiàng)上做,尤其是在屏幕關(guān)閉時(shí)我可以占用并運(yùn)行多少CPU方面?為什么出于接收事件的目的有兩種完全不同的構(gòu)造?

最佳答案

兩者之間的差異如此之多,它們對(duì)某些事物的回應(yīng)是唯一的相似之處之一。

差異:

BroadcastReceivers接收Intent,而Listener基本上可以做任何事情,因?yàn)樗鼪](méi)有定義的目的,所以只是一個(gè)命名約定。例如,在開(kāi)發(fā)人員網(wǎng)站上搜索"BroadcastReceiver",然后搜索"Listener"

BroadcastReceivers剛收到一個(gè)非直接的Intent Broadcast,監(jiān)聽(tīng)器被顯式調(diào)用。

BroadcastReceiver是它自己定義的類(lèi),因?yàn)樗哂忻鞔_的目的(接收Intent),而監(jiān)聽(tīng)器可以是任何東西-它們通常是interface,并且提供它們是為了使回調(diào)可以從一個(gè)類(lèi)到另一個(gè)類(lèi)進(jìn)行。

BroadcastReceivers通常用于全局的系統(tǒng)范圍的事件,特定事件的監(jiān)聽(tīng)器(即,位置傳感器除非有某些東西(例如要向其發(fā)布的監(jiān)聽(tīng)器),否則不應(yīng)該每秒發(fā)送一次位置更新。 -這很重要,它影響到一切,因此應(yīng)廣播給所有感興趣的接收者。

事件BroadcastReceiver接收的事件通常是非連續(xù)事件(一次觸發(fā)),而監(jiān)聽(tīng)器(取決于它們的工作)可以將用于持續(xù)更新(連續(xù))。 如果在 list 中聲明了

BroadcastReceivers,則系統(tǒng)可以將其實(shí)例化。僅動(dòng)態(tài)創(chuàng)建監(jiān)聽(tīng)器(因此通過(guò)代碼)。

CPU/功耗的使用取決于兩者的實(shí)現(xiàn),尤其是因?yàn)槿缟纤?#xff0c;監(jiān)聽(tīng)器可以是或。

Are there things I can do in one but not the other, especially in regards to things like how much CPU I can take and running while the screen is off?

BroadcastReceivers僅具有10 seconds of guaranteed execution time。監(jiān)聽(tīng)器沒(méi)有特定的用途,因此沒(méi)有此限制。

您肯定無(wú)法從BroadcastReceiver做的事情:

In particular, you may not show a dialog or bind to a service from

within a BroadcastReceiver.

可能還有更多-這就是我想出的。

總結(jié)

以上是生活随笔為你收集整理的android监听器作用,android - 监听器和接收器(Android)有什么区别?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。