我正在使用Retrofit2从我的Android应用程序进行API调用。创建Retrofit客户端后立即进行的第一个API调用大约需要1000毫秒至1200毫秒来响应。但是进一步的API调用(最初使用的客户端在其中重复使用)需要300毫秒到350毫秒(这些读数是通过全速互联网获得的。)
我已经用Postman查询了后端。以上读数与我到达那里的读数相符。意味着甚至Postman都需要花费更多时间进行最初的响应。
关于这种行为为何的任何想法?
预先感谢
答案 0 :(得分:1)
尝试在POSTMAN上访问您的API并查看响应时间。
您可以在Postman上看到响应时间。
注意:-确保“图像”中显示的时间必须短。如果花费的时间很高,那么您必须与后端人员坐在一起并解决此问题。改装将一无所获。如果不是,请分享您的活动代码。因此,我们可以看一下。
答案 1 :(得分:0)
我有一个不是答案的选项,但可以作为解决方法: 如果您有启动画面,则从您的项目中点击任何简短的 API,因为解析端点上的注释是在第一次使用时完成的,因此第一次需要时间。然后在 API 响应中启动您的下一个屏幕(无论我们不关心的 API 响应是什么,只需在其上启动下一个屏幕)。通过这样做,您的第一个 API 将正常工作。
<块引用>private void hitAPI() {
viewModel = new ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory.getInstance(this.getApplication())).get(DashboardViewModel.class);
viewModel.getRepos(SplashScreen.this).observe(SplashScreen.this, new Observer<DashboardModel>() {
@Override
public void onChanged(DashboardModel response) {
if (null!=response && response.isSuccess()) {
gotoNextScreen();
}
else {
gotoNextScreen();
}
}
}); }