gpt4 book ai didi

Android BroadCastReceiver 滞后应用程序

转载 作者:行者123 更新时间:2023-11-29 18:14:26 25 4
gpt4 key购买 nike

我在 Activity 中使用的 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 中执行此操作时,我的应用程序开始比以前滞后并变慢。

那么有没有其他更好的方法来观察 Intent 过滤器而不减慢应用程序/或在我的情况下最好的方法。

提前致谢!

最佳答案

不是在 Activity 的上下文中注册您的接收器,而是在您的第一个 Activity 中将其注册到您的应用程序的上下文中,如下所示:

getApplication().registerReceiver(receiver, intentFilter);

这样即使您的 Activity 进入“暂停”状态,您的接收器仍将保持 Activity 状态,因为您的应用程序将继续在后台运行。

希望这对您有所帮助。

关于Android BroadCastReceiver 滞后应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com