Android报错:Channel is unrecoverably broken and will be disposed!

最近在使用Android客户端使用Netty做重连接服务器(服务器关闭)的时候,出现了这个错误,每次都是固定在5分钟左右的时候出现
Channel is unrecoverably broken and will be disposed!
出现后App会出现闪退情况。
这个错误,后来在网上查阅资料,发现Android很多情况都会出现这个问题,但是Android Studio也没提示到底哪里报错。只有自己在做重连接的地方慢慢找了。后来发现每次做重连接的时候都会new一个新的对象,重复的new一个对象,也没有做回收出来,导致了内存溢出。
后来将对象置为成员变量,如下:

 private static NioEventLoopGroup group = null;

在使用的地方进行判断:

 if(group == null){
                Log.e(TAG,"group为空");
                 group = new NioEventLoopGroup();
            }

之后第一次连接的时候才会new一个对象,也不会出现这个错误了,至此解决。
在这里记录一下,下次出现类似的情况,保证自己不会忘。

你可能感兴趣的:(Android-Bug)