我正在构建一个Android应用程序,通过http api调用与我们的服务器交换数据 . 在许多情况下,用户抱怨应用程序运行缓慢或根本不运行 .
最常见的原因是网络连接不良(低3g / wifi信号或拥挤的公共wifi) .
检测错误连接的最佳方法是什么?一旦我能够检测到错误的连接,就可以使用图标或Toast消息来通知用户该情况 .
我正在使用HttpUrlConnection进行api调用 .
我可能会使用延迟 . 在您收到请求时以及请求完成时节省时间 . 如果您看到的数字太高,请弹出警告 . 如果您正在下载大文件,您可能希望切换到吞吐量(您要传输多少kbps) .
我想你可以利用ConnectivityManager . 调用getActiveNetworkInfo(),然后在收到的NetworkInfo对象上调用getDetailedState() . 您可以检查连接的状态以及是否为VERIFYING_POOR_LINK,但我不知道此状态处于活动状态 .
您也可能希望收听Detect Connection Changes中所述的网络更改 .
据我记得http是“无连接”..
你应该尝试集中精力减少你的交通规模..(压缩,划分...等)
如果你真的想测试连接我认为你应该做ping ...每x秒..然后如果ping不好你可以警告用户..
3 回答
我可能会使用延迟 . 在您收到请求时以及请求完成时节省时间 . 如果您看到的数字太高,请弹出警告 . 如果您正在下载大文件,您可能希望切换到吞吐量(您要传输多少kbps) .
我想你可以利用ConnectivityManager . 调用getActiveNetworkInfo(),然后在收到的NetworkInfo对象上调用getDetailedState() . 您可以检查连接的状态以及是否为VERIFYING_POOR_LINK,但我不知道此状态处于活动状态 .
您也可能希望收听Detect Connection Changes中所述的网络更改 .
据我记得http是“无连接”..
你应该尝试集中精力减少你的交通规模..(压缩,划分...等)
如果你真的想测试连接我认为你应该做ping ...每x秒..然后如果ping不好你可以警告用户..