在Android请求中使用gRPC时,在服务器上分配了数百个流

时间:2016-06-03 14:48:45

标签: android grpc

我使用谷歌的gRPC与服务器一起工作,但过了一段时间我注意到流在服务器上分配,只有当我关闭我的应用程序时才会关闭。

        GatewayGrpc.GatewayBlockingStub stub = getGatewayBlockingStub();
        Gw.GetRequest request = new Gw.GetRequest();
        request.authToken = authToken;
        request.requestId = requestId;
        Gw.GetResponse response = stub.get(request);

如何释放此连接?

1 个答案:

答案 0 :(得分:2)

如果通过"数百个流"你的意思是"数百个连接,"然后你可能没有关闭ManagedChannelgetGatewayBlockingStub()可能在内部创建ManagedChannel。您需要致电ManagedChannel.shutdown()

通常要重复使用频道。频道懒洋洋地初始化任何TCP连接,除非有新的RPC,否则不要重新连接。