晚上好,我正在为我的android项目测试一些json抓取代码,我想知道有多个打开的httpurlconnection都在运行是安全的吗?
我请求数据的API有一个简单的端点,该端点也有一个与下一页数据相关的json元素。即。在第一页中有一个元素,用于将一个url字符串指向另一个数据页:.../api/songs/? page =2,依此类推,直到它是一个null元素。
假设我有一个try-catch-finally函数,它建立一个连接,捕获错误,并在最后关闭它。在try块中,只要解析的json中有next元素,我就会调用相同的函数;如果我没记错的话,每次调用都会打开一个新的URLConnection,因为它是为每个连接的单个请求而设计的。
因此,当我到达下一个object元素为空的时候,我将打开和关闭大约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代码应该没有问题,我相信。
发布于 2016-09-08 15:05:05
如果你以正确的方式编码,一切都应该正常工作,拥有多个URLConnections是没有问题的,只要确保你在任何情况下都能正确关闭它们,因为在其他情况下它可能会导致内存/资源泄漏
https://stackoverflow.com/questions/39384013
复制相似问题