构建Android应用程序时,UI会在一秒钟后变为空白,并出现BinderProxy错误
最近几天我一直在开发一个应用程序。我遇到了一个奇怪的错误,在打开应用程序后,整个屏幕变白,我什么都做不了。不过我的日志还是正常的。整个应用程序似乎运行良好,只是UI变为空白,我认为这与我得到的以下日志有关 04-14 13:09:43.880:I/art17944:背景部分并发标记扫描GC释放5065575KB AllocSpace对象,13584KB LOS对象,29%空闲,38MB/54MB,暂停8.631ms总计49.204ms 04-14 13:09:49.905:I/Timeline17944:Timeline:Activity\u launch\u request id:com.packageName时间:8607601 04-14 13:09:50.000:A/Home17944:isFinishing=false 04-14 13:09:50.040:D/Activity17944:performCreate Call Sec产品功能值False 04-14 13:09:50.040:D/Activity17944:performCreate调用调试弹性值True 04-14 13:09:50.150:I/Timeline 17944:Timeline:Activity\u idle id:android.os。BinderProxy@a363fd9时间:8607846 04-14 13:09:50.220:V/ActivityThread17944:updateviability:ActivityRecord{3fd6d07f token=android.os。BinderProxy@47236cc{com.packageName/com.packageName.Home}show:false 请帮帮我。在这里疯了。不知道是什么 其他一些可能有助于你们理解我的问题的东西是: 我在一个活动中使用Facebook登录,这只会在我从Facebook活动切换到此活动时发生 该活动正在重新创建自身,从而导致此错误 您是否正确使用setContentView方法来设置布局 menifest中声明的活动 请检查您的类,可能有任何空的视图或上下文引用构建Android应用程序时,UI会在一秒钟后变为空白,并出现BinderProxy错误,android,user-interface,screen,visibility,Android,User Interface,Screen,Visibility,最近几天我一直在开发一个应用程序。我遇到了一个奇怪的错误,在打开应用程序后,整个屏幕变白,我什么都做不了。不过我的日志还是正常的。整个应用程序似乎运行良好,只是UI变为空白,我认为这与我得到的以下日志有关 04-14 13:09:43.880:I/art17944:背景部分并发标记扫描GC释放5065575KB AllocSpace对象,13584KB LOS对象,29%空闲,38MB/54MB,暂停8.631ms总计49.204ms 04-14 13:09:49.905:I/Timeline1
正如我提到的,我使用的是SensorEventListener,我在本次活动之前的一次活动中也使用了它。在完成导致此错误的活动之前,我没有注销侦听器。但感谢大家为我指出了正确的方向。请发布您的代码加载应用程序UI时是否有任何服务需要绑定。我会发布代码,但我不知道是什么原因导致了此问题,因此不确定要发布哪种代码,无法发布整个应用程序。我在本活动中使用SensorEventListener、Wizrocket analytics和Quickblox SDK。我认为这是其中之一。是的,如果我不做任何其他的,它会崩溃,它不会崩溃,只是屏幕变白了。没有帮助,我甚至记录了正在完成,我总是只得到false,但仍然得到相同的错误。如果有人能告诉我这到底是做什么的,我也许可以自己调试它。
The crash is because the binder you're getting back is an instance of BinderProxy, not your local binder class. This usually happens because your activity is attempting to bind to a service that is not in the same process. When binding across process boundaries, an instance of BinderProxy is used instead of the actual instance (since that's in a different process).
Try this
if(!((Activity) context).isFinishing())
{
//your code
}