我正在尝试使用HttpURLConnection来获取带有URL的JSON响应。但是,getInputStream()需要太多时间(一小段json文本需要大约500 ms!)导致低效率。下面是我的代码:
val urlStr= "https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"
urlCon = URL(urlStr).openConnection() as HttpURLConnection
val conInputStream = urlCon.inputStream //主要占时 //takes too much time
val input = InputStreamReader(conInputStream, "UTF-8")
reader = BufferedReader(input)
reader.use {
reader.forEachLine { sb.append(it) }
}
有什么方法可以提高回复速度吗?
1条答案
按热度按时间2vuwiymt1#
你确定这和Java/Kotlin有什么关系,除了你和服务器之间的延迟和/或它的响应时间?
我使用Apache Bench工具“ab”,每次命中1次,平均整个事件的响应时间低于100 ms。当然,这并不能证明/反驳Java的
getInputStream()
很慢--但我建议你在遇到连接缓慢的同一台机器上尝试一些类似的工具。