我有一个方法是在异步中调用的,下载小的网络图片没有问题,但是下载大的图片(300多kb)时就报错了,方法如下:
// 该方法用于根据图片的URL,从网络上下载图片
protected Drawable loadImageFromUrl(String imageUrl) {
try {
// 根据图片的URL,下载图片,并生成一个Drawable对象
return Drawable.createFromStream(new URL(imageUrl).openStream(),
"src");
} catch (Exception e) {
System.out.println("loadImageFromUrl:e="+e.getMessage());
// throw new RuntimeException(e);
return null;
}
}
请问有什么办法可以解决吗?
很急,在线等,有答案马上结贴,谢谢!
// 该方法用于根据图片的URL,从网络上下载图片
protected Drawable loadImageFromUrl(String imageUrl) {
try {
// 根据图片的URL,下载图片,并生成一个Drawable对象
return Drawable.createFromStream(new URL(imageUrl).openStream(),
"src");
} catch (Exception e) {
System.out.println("loadImageFromUrl:e="+e.getMessage());
// throw new RuntimeException(e);
return null;
}
}
请问有什么办法可以解决吗?
很急,在线等,有答案马上结贴,谢谢!
ERROR/GraphicsJNI(722): VM won't let us allocate 15980544 bytes
ERROR/AndroidRuntime(722): java.lang.RuntimeException: An error occured while executing doInBackground()
ERROR/AndroidRuntime(722): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
急呀,谁能帮忙解决下,谢谢各位了
URL u = new URL(url);
URLConnection conn = u.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 2;//缩小图片,否则内存溢出
Bitmap bitmap = BitmapFactory.decodeStream(is,null,options);
return bitmap;