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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

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

例如,我需要一個BroadcastReceiver來獲取這些事件:

重新啟動或關機

屏幕開或關

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

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

但是我需要監聽器來獲取以下事件:

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

用于位置事件的LocationListener(網絡位置,GPS)

似乎接收方和監聽方都存在,以便我可以接收事件。除了明顯的語義差異之外,兩者之間還有什么區別?我可以在其中一項上做其他事情,而不能在另一項上做,尤其是在屏幕關閉時我可以占用并運行多少CPU方面?為什么出于接收事件的目的有兩種完全不同的構造?

最佳答案

兩者之間的差異如此之多,它們對某些事物的回應是唯一的相似之處之一。

差異:

BroadcastReceivers接收Intent,而Listener基本上可以做任何事情,因為它沒有定義的目的,所以只是一個命名約定。例如,在開發人員網站上搜索"BroadcastReceiver",然后搜索"Listener"

BroadcastReceivers剛收到一個非直接的Intent Broadcast,監聽器被顯式調用。

BroadcastReceiver是它自己定義的類,因為它具有明確的目的(接收Intent),而監聽器可以是任何東西-它們通常是interface,并且提供它們是為了使回調可以從一個類到另一個類進行。

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

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

BroadcastReceivers,則系統可以將其實例化。僅動態創建監聽器(因此通過代碼)。

CPU/功耗的使用取決于兩者的實現,尤其是因為如上所述,監聽器可以是或。

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。監聽器沒有特定的用途,因此沒有此限制。

您肯定無法從BroadcastReceiver做的事情:

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

within a BroadcastReceiver.

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。