我正在將一些在清單中定義的BroadcastReceiver
s遷移到LocalBroadcastManager
。將全局BroadcastReceivers遷移到LocalBroadcastManager
這些BroadcastReceiver
s不需要從其他應用程序調用。 通過sendBroadcast()
或Activity
s響應UI操作或從執行HTTP請求並在Intent
中傳遞響應的實用程序類中調用它們。
我最近才發現約LocalBroadcastManager
,並且想優化我的代碼。我還沒有做出任何基準(我不知道如何)。它值得做還是過早優化?爲響應用戶操作而調用BroadcastReceiver
,因此遷移可能不值得。
registerReceiver
應該在哪裏註冊? Application
是正確的地方嗎?
你能爲此提供一個用例嗎?在清單中註冊'BroadcastReceiver'的主要原因 - 所以第三方代碼可以通過特定的廣播操作或'PendingIntent'來調用它們 - 對於LocalBroadcastManager沒有意義。如果你可以解釋爲什麼你首先有本地唯一的「全球'BroadcastReceivers'」,它可能會幫助我們爲你提供更好的建議。 – CommonsWare
感謝您的詢問。我已經更新了這個問題 - 在編寫舊代碼時我根本不知道「LocalBroadcastManager」。 – mparaz
您添加的兩個句子雖然很好,但沒有提供用例,也沒有解釋爲什麼您只有本地「全局」BroadcastReceivers「」,正如我在我的初始評論中所建議的那樣。 – CommonsWare