Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
registerReceiver上的Android ANR_Android_Android Anr Dialog_Localbroadcastmanager - Fatal编程技术网

registerReceiver上的Android ANR

registerReceiver上的Android ANR,android,android-anr-dialog,localbroadcastmanager,Android,Android Anr Dialog,Localbroadcastmanager,我的应用程序有时会在以下线路上崩溃: LocalBroadcastManager.getInstance(context.getApplicationContext()). registerReceiver(handler, new IntentFilter("DATA_UPDATE")); 在traces.txt中,我发现RegisterReeiver被发送广播的线程阻塞 schedstat=( 0 0 0 ) utm=141 stm=2 core=0 at andr

我的应用程序有时会在以下线路上崩溃:

LocalBroadcastManager.getInstance(context.getApplicationContext()).
            registerReceiver(handler, new IntentFilter("DATA_UPDATE"));
在traces.txt中,我发现RegisterReeiver被发送广播的线程阻塞

schedstat=( 0 0 0 ) utm=141 stm=2 core=0
at android.support.v4.content.LocalBroadcastManager.sendBroadcast(LocalBroadcastManager.java:~240)

如何避免这种情况?

上下文可能为空,无需传递应用程序上下文,只需使用当前组件上下文我打赌问题在于您在接收器的onReceive中做了一些愚蠢的事情(如inf.loop或一些艰苦的工作)implementation@Selvin所以当线程处理onReceive时,没有新的接收者可以注册?我不知道。。。这是一个盲目的猜测/我将开始寻找的地方。。。第二个问题是:registerd receivers太多检查处理程序可以为NULL的情况。上下文可能为NULL,不需要传递应用程序上下文,只需使用当前组件上下文即可。我打赌问题在于您正在做一些愚蠢的事情(如inf.loop或一些艰苦的工作)在收到你的电话后implementation@Selvin所以当一个线程处理一个onReceive时,就不能注册新的接收器了?我不知道。。。这是一个盲目的猜测/我将开始寻找的地方。。。第二个是:过多的registerd receiver检查处理程序可以为NULL的情况。