Android处理许多HTTP请求
我正在构建一个需要轮询Web服务器的应用程序。现在,我创建了一个递归方法来请求服务器,当返回响应时,它会重新启动,稍后我可能会在两者之间进行睡眠 现在因为我需要这个密集的请求轮询。我希望优化实际代码,使每个请求的工作量尽可能少 我想我可以创建一个HttpGet(请求)和一个DefaultHttpClient onces,然后反复重用这些实例。 看 问题是我在收到20个请求后收到OutOfMemory错误 请参阅此处的错误日志Android处理许多HTTP请求,android,Android,我正在构建一个需要轮询Web服务器的应用程序。现在,我创建了一个递归方法来请求服务器,当返回响应时,它会重新启动,稍后我可能会在两者之间进行睡眠 现在因为我需要这个密集的请求轮询。我希望优化实际代码,使每个请求的工作量尽可能少 我想我可以创建一个HttpGet(请求)和一个DefaultHttpClient onces,然后反复重用这些实例。 看 问题是我在收到20个请求后收到OutOfMemory错误 请参阅此处的错误日志 有没有更好的方法来处理这么多的请求???在问题本身中发布代码可能更好
有没有更好的方法来处理这么多的请求???在问题本身中发布代码可能更好 也就是说,问题是没有一个请求可以被垃圾收集,因为它们都不会超出范围;您不断地向上构建调用堆栈,而不退出
poll
方法
您应该使用某种延迟机制,允许您退出方法,同时仍然安排一些要完成的工作。这样的东西应该足够了:
new Handler().post(new Runnable() {
@Override
public void run() {
poll();
}
});
嗨,马修,这很有道理!非常感谢!