gpt4 book ai didi

android - 与模拟器和 Web 相比,真实 Android 设备中的 Retrofit 响应时间更慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:25 24 4
gpt4 key购买 nike

我正在从 Android 设备调用 restful API 来填充 ListView 。

I have used swagger codegen to generate my retrofit client .

Dagger 2 for dependency injection

Device : Asus Zenfone 5

我试过从 postman 、网络和模拟器 (genymotion) 中调用电话,与真实设备相比,它要快得多。

有趣的是,每次我重新启动手机时有两到三个请求,响应时间都是正常的,然后就变慢了。

我阅读了一些关于 okHTTP 中 gzip 压缩的博客,并尝试实现它但没有效果。

如果有人能帮助我解决问题,那将非常有帮助。

最佳答案

在改造中,它做了以下工作:

  1. 构建Retrofit 类。
  2. 使用 DynamicProxy 实现接口(interface)
  3. 根据注解解析并创建Http请求。
  4. 在线程池中使用 OkHttp 发送和接收 HTTP(套接字)IO(在 Android 中,网络不能在主线程上完成)。
  5. 使用一些库(例如 gson)反序列化您的 Http 主体。
  6. 在回调中更新用户界面。

在您的手机中,我认为 1、2、3 不是必需的,它们甚至可以在主线程或缓存中完成。在我的设备 (Qcom615, 2Gram) 中,它需要不到一毫秒。

所以你需要调试你的网络。

一个一个解决问题:

  1. 您的服务器是使用 HTTPS 还是 no-cacahe 或 no-gzip? Logging您的数据并告诉您的服务器合作伙伴,他们可以给您一些建议。
  2. converters 尝试更快的库.
  3. 改进您的 View 代码(例如,void redraw/relayout,void a long-time job in main thread)。

关于android - 与模拟器和 Web 相比,真实 Android 设备中的 Retrofit 响应时间更慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com