我在Flutter上使用Chopper进行http请求,据我所知,有两种创建Chopper客户端的方法。一种是将服务添加到其数组,然后公开它:
// my_chopper_client.dart
static ChopperClient getClient() {
final chopper = ChopperClient(
baseUrl: "https://example.com/",
services: [
ServiceOne.create(),
ServiceTwo.create(),
ServiceThree.create()
],
converter: JsonConverter()
);
return chopper;
}
// Some other file.dart
void login() {
ChopperClient client = MyChopperClient.getClient();
var serviceTwo = client.getService<ServiceTwo>();
var resp = await serviceTwo({"email": "example@mail.io", "password": "123"});
print(resp.body);
}
另一个是为每个服务创建一个Chopper客户端的新实例:
// service_two.dart
static ServiceTwo create() {
final client = ChopperClient(
services: [
_$ServiceTwo(),
],
converter: JsonConverter(),
);
return _$ServiceTwo(client);
}
// some other file.dart
void login() async {
var serviceTwo = ServiceTwo.create();
var resp = await serviceTwo.login({"email": "example@mail.io", "password": "123"});
print(resp.body);
}
我的问题是:哪种方法更好地获得最佳性能?在我看来,数组方法可能会使用更多的内存。 预先感谢!