与其他API调用相比,第一个API调用花费更多的时间来响应

时间:2019-01-04 11:03:29

标签: android retrofit2

我正在使用Retrofit2从我的Android应用程序进行API调用。创建Retrofit客户端后立即进行的第一个API调用大约需要1000毫秒至1200毫秒来响应。但是进一步的API调用(最初使用的客户端在其中重复使用)需要300毫秒到350毫秒(这些读数是通过全速互联网获得的。)

我已经用Postman查询了后端。以上读数与我到达那里的读数相符。意味着甚至Postman都需要花费更多时间进行最初的响应。

关于这种行为为何的任何想法?

预先感谢

2 个答案:

答案 0 :(得分:1)

尝试在POSTMAN上访问您的API并查看响应时间。

您可以在Postman上看到响应时间。

enter image description here

注意:-确保“图像”中显示的时间必须短。如果花费的时间很高,那么您必须与后端人员坐在一起并解决此问题。改装将一无所获。如果不是,请分享您的活动代码。因此,我们可以看一下。

答案 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();
        }
    }
}); }