我用Http Post请求,获取一个90k的数据,服务端传过来的是一个json对象,90k。我在Android端用HttpUrlConnection读取,然后转成对象,总共花费了6S的时间,网页上用js只花费了1s的时间。请问这是为什么?
我是这样写的:
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
String result = "";
while ((line = br.readLine()) != null) {
result += line;
}
//到这里花费了6S
Log.e("infoo", "result = " + result);
br.close();
return gson.fromJson(result, type);
然后我又试着用了下其他的框架,Volley,和OkHttp,也是花了这么长时间。请问我写的有什么问题吗?还是有些地方没有注意?
你这是读到缓存中所花费的时间,仅仅是网络请求没有这么长
这个不能这样比啊,Android这边读写操作费时的
Android不管是网路求情还是读取缓存都是要消耗时间,而好事的操作一般要放到子线程中去进行的,看上面的代码就知道你没有放到子线程去进行这些耗时操作
自己重新封装太浪费时间 推荐直接使用网络框架 Okhttp Afinal等 JAR包网上都是可以下载的 望采纳