[英]Show image from URL, Android-app goes extremly slow
我试图通过URL在我的应用程序中显示图像,但是(仅当)位图显示时,应用程序太慢了。 该应用程序运行正常,但是当我加载图像时,它的运行速度非常慢。 有人可以帮忙吗?
因此,我有一个名为ImageDownload的类来进行下载,在我的Fragment中,我有:
new ImageDownload((ImageView) login_image, this.getActivity().getApplicationContext(),"login_image")
.execute(path);
这是我的下载类:
public class ImageDownload extends AsyncTask<String, Void, Bitmap> {
private Context mContext;
private String filename;
ImageView bmImage;
public ImageDownload(ImageView bmImage, Context mContext, String filename) {
this.bmImage = bmImage;
this.mContext = mContext;
this.filename = filename;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in,null,null);
//EDIT:
in.close();
// The isuue is not soved yet
} catch (Exception e) {
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
然后是ImageBitmap大小和平板电脑RAM大小的问题。 将ImageBitmap加载到RAM上会占用太多RAM。 您可以通过查看日志来检测到此错误,因为系统面临的频繁页面遗漏比页面击中要频繁,因此System.gc()
的调用频率非常高,几乎像是抖动问题。 我确信系统是如此频繁地调用.gc()
,并且System.gc()
是在GUI线程中调用的,这会干扰UI体验。
您应该使用Google的Volley库
使用毕加索 。 简单又酷。
我终于找到了答案。 看看这个。 将来可能对您有帮助。 谢谢大家。 这完美地工作:
http://www.technotalkative.com/android-load-images-from-web-and-caching/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.