consumer close input channel or an error occurred. events=0x8

情况:

我有A, B两个Activity, A和B都使用了百度地图之后,在A跳转到B后,偶然但又很经常的发生页面崩溃现象。而我查看logcat的时候,发现如下错误提示:

com.ym.fm/com.ym.fm.view.HomeActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
E/InputDispatcher(  329): channel '4207e010 com.ym.fm/com.ym.fm.view.HomeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/ActivityManager(  329): Process com.ym.fm (pid 10074) has died.
I/WindowManager(  329): WIN DEATH: Window{43027710 com.ym.fm/com.ym.fm.view.HomeActivity paused=true}
W/InputDispatcher(  329): Attempted to unregister already unregistered input channel '4207e010 com.ym.fm/com.ym.fm.view.HomeActivity (server)'
I/WindowManager(  329): WIN DEATH: Window{4207e010 com.ym.fm/com.ym.fm.view.HomeActivity paused=true}
I/WindowManager(  329): WINDOW DIED Window{4207e010 com.ym.fm/com.ym.fm.view.HomeActivity paused=true}
I/WindowManager(  329): SCREENLAYOUT_SIZE (1:small, 2:normal, 3:large, 4:xlarge) 2
I/RenderThread(  664): RenderThread resumed
I/RenderThread(  664): RenderThread paused, waiting for signal

分析:

根据自己的情况,这些怪现象都是在使用了百度地图才出现的,所以就重点这部分代码。

从log可以看出,重点可以看这句 Consumer closed input channel or an error occurred.  events=0x8 ,在网上一搜,才知道原来android的报错可读性比较差,出现这个错误提示,有可能是因为指针操作有误,例如我们在Activity的OnDestory做了某些置空操作,然而我们所置空的对象,有可能在其他的地方还有引用。

经过排查,果不出所料,因为我在A和B都有使用全局的百度地图管理类BMapManager的对象,我在A和B都有使用该对象,在A和B的OnDestroy都调用了置空操作,当A切换到B,B跳转到A的时候,B已经将BMapManager  Destory掉了,A再调用的时候,就发生错误了,造成页面崩溃了。


解决:

根据百度的官方文档,BMapmanager的对象建议在程序推出的时候才去Destroy,例如:

        @Override
	public void onTerminate() {
		//建议在您app的退出之前调用mapadpi的destroy()函数,避免重复初始化带来的时间消耗
	    if (BMap_Manager != null) {
	    	BMap_Manager.destroy();
	    	BMap_Manager = null;
             }
		super.onTerminate();
	}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
07-07 14:44:01.144 1936 3340 W ActivityManager: Force finishing activity com.zhiying.settings/.about.LegalInformationActivity 07-07 14:44:01.152 1936 1936 E PowerManagerService: screensaver enable true 07-07 14:44:01.166 1936 1952 E memtrack: Couldn't load memtrack module 07-07 14:44:01.166 1936 1952 W android.os.Debug: failed to get memory consumption info: -1 07-07 14:44:01.215 1936 2009 W InputDispatcher: channel '5cfd4ab com.zhiying.settings/com.zhiying.settings.about.LegalInformationStartWebActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 07-07 14:44:01.215 1936 2009 E InputDispatcher: channel '5cfd4ab com.zhiying.settings/com.zhiying.settings.about.LegalInformationStartWebActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 07-07 14:44:01.215 1936 2009 W InputDispatcher: channel 'c486525 com.zhiying.settings/com.zhiying.settings.about.LegalInformationStartWebActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 07-07 14:44:01.215 1936 2009 E InputDispatcher: channel 'c486525 com.zhiying.settings/com.zhiying.settings.about.LegalInformationStartWebActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 07-07 14:44:01.216 1936 2009 W InputDispatcher: channel 'b3becb6 com.zhiying.settings/com.zhiying.settings.about.LegalInformationActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 07-07 14:44:01.216 1936 2009 E InputDispatcher: channel 'b3becb6 com.zhiying.settings/com.zhiying.settings.about.LegalInformationActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 07-07 14:44:01.216 1936 2009 W InputDispatcher: channel '1712ca6 com.zhiying.settings/com.zhiying.settings.about.SystemInfoActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 07-07 14:44:01.216 1936 2009 E InputDispatcher: channel '1712ca6 com.zhiying.settings/com.zhiying.settings.about.SystemInfoActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 07-07 14:44:01.216 1936 2009 W InputDispatcher: channel 'd7b4fb2 com.zhiying.settings/com.zhiying.settings.MainZYActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9 07-07 14:44:01.217 1936 2009 E InputDispatcher: channel 'd7b4fb2 com.zhiying.settings/com.zhiying.settings.MainZYActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
最新发布
07-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值