io.netty.buffer.AdvancedLeakAwareByteBuf.order(AdvancedLeakAwareByteBuf.java:66) io.netty.buffer.CompositeByteBuf.addComponent0(CompositeByteBuf.java:259) io.netty.buffer.CompositeByteBuf.addComponents0(CompositeByteBuf.java:321) io.netty.buffer.CompositeByteBuf。(CompositeByteBuf.java:87) io.netty.buffer.Unpooled.wrappedBuffer(Unpooled.java:323) io.netty.buffer.Unpooled.wrappedBuffer(Unpooled.java:252) com.XXXXX.ws.BackendOutboundEncoder.encode(BackendOutboundEncoder.java:40)
高级检漏器在下一行发现内存泄漏。
out.add( Unpooled.wrappedBuffer( buf1, buf2).asReadOnly() );
因此,wrappedBuffer
转移了CompositeByteBuf
的引用计数所有权。 asReadOnly()
会如何影响引用计数所有权?释放只读的ByteBuf来全部释放它们就足够了吗?