[英]Android BroadCastReceiver lagging application
我在活動中使用的BroadcastReceiver
有問題。 我實際上是在這樣做:
在onCreate()
:
receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("finish")) {
// some code
}
}
};
registerReceiver(receiver, intentFilter);
在onResume()
和onPause()
我正在這樣做:
@Override
public void onResume(){
super.onResume();
MyCollectionList.this.registerReceiver(receiver, intentFilter);
}
@Override
public void onPause(){
super.onPause();
MyCollectionList.this.unregisterReceiver(receiver);
}
其中intentFilter是:
IntentFilter intentFilter = new IntentFilter("finish");
當我在6個需要添加此廣播接收器的活動中執行此操作時,我的應用程序開始滯后並且變得比以前慢。
因此,有沒有其他更好的方法來監視意圖過濾器而不會減慢應用程序/或我所處的最佳狀態。
提前致謝!
與其在Activity的上下文中注冊接收者,不如在您的第一個活動中在應用程序的上下文中注冊它,如下所示:
getApplication()。registerReceiver(receiver,intentFilter);
這樣,即使您的活動進入“暫停”狀態,您的接收器也將保持活動狀態,因為您的應用程序將繼續在后台運行。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.