Java 通过迭代实现多个 HttpURLConnections?
Java multiple HttpURLConnections via Iteration?
晚上,我正在为我的 android 项目测试一些 json 获取代码,我想知道是否有多个打开的 httpurl 连接都是 运行 安全吗?
我从中请求数据的 API 有一个简单的端点,该端点也有一个与下一页数据相关的 json 元素。 IE。 ...api/songs/ 是第一页;在第一页中有一个 url 字符串元素到另一页数据: .../api/songs/?page=2 等等,直到它是一个空元素。
假设我有一个 try-catch-finally 函数,可以建立连接、捕获错误并在最后关闭它。在 try 块中,只要在解析的 json 中有下一个元素,我就会想起相同的函数;如果我没记错的话,每次调用都会打开一个新的 URLConnection,因为它是为每个连接的单个请求而设计的。
因此,当我到达下一个对象元素为空的位置时,我将有大约 14 个 HttpURLConnections 打开和关闭一个,因为它 returns 到原始调用。这样安全吗?它似乎确实有效,因为我已经编写了没有崩溃的代码。
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
}
我相信上面的伪代码应该没问题。
如果你以正确的方式编码,一切都应该工作,有多个 URLConnections 没有问题,只要确保你在任何情况下都正确关闭它们,因为在其他情况下它可能导致 memory/resource 泄漏
晚上,我正在为我的 android 项目测试一些 json 获取代码,我想知道是否有多个打开的 httpurl 连接都是 运行 安全吗?
我从中请求数据的 API 有一个简单的端点,该端点也有一个与下一页数据相关的 json 元素。 IE。 ...api/songs/ 是第一页;在第一页中有一个 url 字符串元素到另一页数据: .../api/songs/?page=2 等等,直到它是一个空元素。
假设我有一个 try-catch-finally 函数,可以建立连接、捕获错误并在最后关闭它。在 try 块中,只要在解析的 json 中有下一个元素,我就会想起相同的函数;如果我没记错的话,每次调用都会打开一个新的 URLConnection,因为它是为每个连接的单个请求而设计的。
因此,当我到达下一个对象元素为空的位置时,我将有大约 14 个 HttpURLConnections 打开和关闭一个,因为它 returns 到原始调用。这样安全吗?它似乎确实有效,因为我已经编写了没有崩溃的代码。
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
}
我相信上面的伪代码应该没问题。
如果你以正确的方式编码,一切都应该工作,有多个 URLConnections 没有问题,只要确保你在任何情况下都正确关闭它们,因为在其他情况下它可能导致 memory/resource 泄漏