解决方案:关闭时添加关闭标识
//是否关闭
private boolean isClose = false;
public void shutdownNetty() {
isClose = true;
Logger.e(TAG, "shutdownNetty!");
isConnect = false;
if (null != mChannelFuture && null != mChannelFuture.channel()) {
mChannelFuture.channel().close();
mChannelFuture = null;
}
if (null != eventLoopGroup) {
eventLoopGroup.shutdownGracefully();
eventLoopGroup = null;
}
}
public void sendMessage(String msg) {
Logger.w(TAG, "sendMessage:" + msg);
if (mChannelFuture != null && mChannelFuture.channel() != null && isConnect) {
mChannelFuture.channel().writeAndFlush(msg);
} else {
if (!isClose) {
initPushService();
}
}
}