我已经使用HttpClient在我的应用程序中实现了Rest调用。我发现在慢速连接下,我的请求会长时间处于执行状态。如果http请求花费很长时间,我想要取消它们。
那么,在从Java服务器获取JSON数据时,Android应用程序中的标准ConnectionTimeout和Socket Timeout应该是多少?
这主要取决于使用情况,而不是平台(Android)。如果用户需要请求的答案以继续工作,可能需要更长时间,如果只是后台更新,则可以少花些时间,即使在这种情况下,用户也可能意识不到他正在等待某些东西。
最重要的是,用户应该知道您仍在后台执行某些任务,并且应该有可能在任务花费太长时间时取消任务。对于不重要的后台更新,用户可能根本不想看到。
亚马逊实现中最好的之一是在几秒钟后更新UI以指示请求需要更长时间。如果请求仍然失败,则会通知您稍后重试,您始终可以取消并返回。