现在Http请求100K的数据,用HttpUrlConnection请求耗时6S。有什么办法可以高效加载呢?
加缓存或者定时刷新,这样会有不错的效果
如果是图片的话,可以用glide框架。100k数据怎么可能6s啊!6秒应该可以下载10MB左右吧!
可以选择分页加载,也可以用listview的复用
使用缓存 可以有效提高加载
为什么一定要用HttpUrlConnection呢?可以使用多线程啊?提前请求
DataOutputStream out=new DataOutputStream(urlConn.getOutputStream());
String param="content="+ URLEncoder.encode(edit.getText().toString(),"utf-8");//使用URLEncoder.encode转换为utf-8以防止中文乱码
out.writeBytes(param);//writeBytes写字节到输出流中,服务器端也是接收的bytes
out.flush();//记得刷一下
out.close();
System.out.println("responsecode:"+urlConn.getResponseCode());
if (urlConn.getResponseCode()==HttpURLConnection.HTTP_OK){//连接成功,则相等,httpURLConnection.http_ok=200
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String line=null;
System.out.println("bufferedReader.readLine():"+bufferedReader.readLine());
while ((line=bufferedReader.readLine())!=null){
result+=line+"\n"; //加了个"\n"相当于换到了下一行 } }
推荐使用网络框架 如OkHttp Afinal等 图片加载框架 Glide ImageLoader等