我看过很多例子,它们似乎都以不同的方式解决了这个问题。基本上,我只是想以最简单的方式发出不会锁定主线程并且可以取消的请求。
这也无济于事,我们至少有2个HTTP库可供选择,它们分别是java.net。(例如HttpURLConnection)和org.apache.http。。
最佳做法是什么?
实际上,在AsyncTasks的设计中存在一些缺陷,使它无法真正用于网络。一个简单的例子是,只需旋转设备,即可松开AsyncTask和Activity之间的链接。
看一下这个线程:您将看到AsyncTask也很容易造成内存泄漏。
AsyncTask文档对此很明确:AsyncTask仅应用于短期任务,而且显然,网络不属于该类别。
所以,我真的建议您看看RoboSpice。该库是为异步网络设计的,它是实现它的一种非常可靠的方法。如果只有几秒钟可以说服,请查看此信息图表。
RoboSpice还是商店中的演示应用程序:RoboSpice Motivations,将深入介绍有关Android上异步网络的所有内容。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。