java - 安卓3g连接延迟

标签 java android

非常感谢您在以下方面提供的帮助:

问题:
我希望加快 3g 连接并使其立即连接。

说明: 我构建了一个应用程序(适用于 Android),使用 HttpClient 连接到我的服务器,并使用 Amazon 的 AWS API 连接到各种 Amazon 服务。

我注意到,有时候,3g 中的连接建立需要花费很多时间,而且实际上 Android 似乎只是在发送 GET/POST/whatever 请求之前等待一段时间,直到那时才尝试。

一些说明:

  • 3g 连接正常(信号良好),问题仅出在 3g 上。
  • 当尝试使用浏览器(例如 Boat Browser)连接到互联网时,连接似乎“唤醒”,状态栏上的绿色和橙色箭头再次开始亮起。而且..浏览器可以工作。有时我的请求也会被“唤醒”。
  • 我的请求确实有效,但通常需要一段时间(至少 1 分钟)才能真正启动。

如果需要,我可以添加一些代码,但看起来它与我所做的事情无关,这只是 Android 的工作方式(也许它在启动 3g 连接之前等待许多请求?),以及一些应用程序(例如Boat Browser)强制连接发送请求,或者只是刷新 3g 连接。

非常感谢

最佳答案

好的,我找到了足够的信息来解决这个问题!

将 AsyncTasks 作为连接线程最好的做法是明显避免它们, 请改用 Google Volley。

请查看此链接以了解有关 AsyncTasks 的细微差别: http://www.jayway.com/2012/11/28/is-androids-asynctask-executing-tasks-serially-or-concurrently/
(我在一个单独的问题中找到了此链接,但我找不到它,抱歉)。

查看此链接,了解什么是 Google Volley 以及如何更轻松地使用它实现多线程连接:
https://developers.google.com/events/io/sessions/325304728

所以..要回答这个问题:
1. 在某些/大多数情况下,您的 AsyncTasks 将不会同时运行。
2. 为了“强制”多线程连接,请使用 Volley(可以配置为串行运行)或阅读上面有关 AsyncTask 的链接来“启用”它。

关于java - 安卓3g连接延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20947888/

相关文章:

java - 为什么不允许使用 'var' 的复合定义?

java - 计算 Web 服务被调用的次数

android - 陈旧数据异常 :Attempted to access a cursor after it has been closed

java - "Method call expected"int数组的length方法错误

Android 5.0 在 webview 中选择标签为空

java - PircBotX 类型的 connect() 方法不可见

java - 如何在jTable中显示数据库内容?

java - 为什么我在 Android SDK 中计算的百分比变成负值?

Android 风格传承

java - Libgdx Sprite 深度在 Android 上与在桌面上不同