通过迭代实现Java多个HttpURLConnections?

时间:2016-09-08 06:33:03

标签: java android json url httpurlconnection

晚上所有,我正在为我的android项目测试一些json抓取代码,我想知道是否有多个打开的httpurlconnections都是安全的?

我正在请求数据的API有一个简单的端点,它也有一个与下一页数据相关的json元素。即。 ... api / songs /是第一页;在第一页内,有一个url字符串元素到另一页数据:... / api / songs /?page = 2等等,直到它为null元素。

假设我有这个try-catch-finally函数,它可以建立连接,捕获错误,并在最后关闭它。在try块中,只要在解析的json中有下一个元素,我就会回想起同样的函数。如果我没有弄错的话,每次调用都会打开一个新的URLConnection,因为它是针对每个连接的单个请求而设计的。

因此,当我到达下一个对象元素为空的点时,我将有大约14个HttpURLConnections打开并一次关闭一个,因为它返回到原始调用。这样安全吗?它似乎工作,因为我已经编写代码而没有崩溃。

try {
    //Open HTTLURLConnection with given uri argument
    //read and store the results within a StringBuffer
    //if StringBuffer(when parsed to a json element) has a next element,
    //call this try block again
catch(IO/JSON exceptions...) {}
finally{
//close URIConnection if not null
}

上面的psuedo代码应该没问题我相信。

1 个答案:

答案 0 :(得分:1)

如果您以正确的方式编码,一切都应该有效,多个URLConnections没有问题,只是保证您在任何情况下正确关闭它们,因为在其他情况下它可能导致内存/资源泄漏