我對BroadcastReceiver感到困惑。作爲標題,我不認爲我的應用程序需要另一個BroadcastReceiver。我可以在我的android應用程序中只使用一個BroadcastReceiver嗎?
或者,如果我在我的應用程序中使用一堆BroadcastReceiver,是否有什麼錯誤? 我認爲這會影響我的操作系統執行內存和性能,我是對的。
謝謝你的時間和熱心。
我對BroadcastReceiver感到困惑。作爲標題,我不認爲我的應用程序需要另一個BroadcastReceiver。我可以在我的android應用程序中只使用一個BroadcastReceiver嗎?
或者,如果我在我的應用程序中使用一堆BroadcastReceiver,是否有什麼錯誤? 我認爲這會影響我的操作系統執行內存和性能,我是對的。
謝謝你的時間和熱心。
這一切都取決於你。對於intent-filter
的不同組,您可以有多個BroadcastReceiver
,或者使用單個廣播接收機處理所有意向過濾器。
通常最好根據一組意圖過濾器來定義不同的接收器,這些過濾器應該爲相關的任務組提供功能。
就像我說的,它完全取決於你。如果你有一大套意圖過濾器,並且你希望你的代碼得到正確的處理(根據它所執行的類似的任務分類),那麼去多個接收器。否則,它容易和合乎邏輯地處理單個接收器中的幾個濾波器
此外,應用程序的性能不會受到阻礙,因爲它取決於接收器中的任務執行情況,而不是接收器或過濾器的數量。
提示:嘗試引進Threads
無論你預計將進行一些繁重的:)
您可以在應用程序上聲明儘可能多的BroadcastReceivers。它會影響你收到的每一個廣播開始做一百萬次長時間的後臺操作。
但你計劃的應用程序真的需要所有這些接收器嗎?
有一些API以編程方式啓用/禁用您聲明的接收器,也可能是一個不錯的選擇。
編輯: 我想如果你自己做一點測試會容易一些。
這些都是BroadcastReceiver可能收到的所有不同操作。所以它只是簡化和組織一些應用程序來實現多個接收器,一個接收器用於每種不同類型的操作。或者,也許它只會收到兩個非常類似的動作,並且在一個接收器中完成它更簡單。
它有道理嗎?
它認爲類應該有一個責任。因此,如果您的BroadcastReceiver同時處理SMS
和CALL
意圖,則考慮擁有多個接收器。
謝謝Waqas ~~這是我的答案。 – AmyWuGo 2012-08-15 09:30:35