android 下载网络图片报错的问题

fire_fire_fire 2011-11-14 01:12:59
我有一个方法是在异步中调用的,下载小的网络图片没有问题,但是下载大的图片(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;
}
}
请问有什么办法可以解决吗?
很急,在线等,有答案马上结贴,谢谢!
...全文
244 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fire_fire_fire 2011-11-14
  • 打赏
  • 举报
回复
解决了,方案如下,谢谢各位了!
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;
AspireHouse 2011-11-14
  • 打赏
  • 举报
回复
好几个地方同时调用吗? bitmap内存溢出了
fire_fire_fire 2011-11-14
  • 打赏
  • 举报
回复
报错内容,依次如下
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
急呀,谁能帮忙解决下,谢谢各位了


netying 2011-11-14
  • 打赏
  • 举报
回复
报的什么错?e.getMessage()是什么内容?
千里马8年Android系统及应用开发经验,曾担任过美国unokiwi公司移动端技术总监兼架构师,对系统开发,性能优化,应用高级开发有深入的研究,Android开源定制ROM Lineage的贡献者之一,国内首家线下开辟培训Android Framework课程,拥有2年的Android系统培训经验。成为腾讯课堂专业负责android framework课程分享第一人,致力于提高国内android Framework水平Android Framework领域内是国内各大手机终端科技公司需要的人才,应用开发者都对Android系统充满着好奇,其中的binder是重中之重,都说无binder无Android,binde是Android系统的任督二脉。课程水平循序渐进,由中级再到高级,满足各个层次水平的android开发者。1、灵活使用binder跨进程通信,在app端对它的任何api方法等使用自如2、可以单独分析android系统源码中任何binder部分,分析再也没有难度3、掌握binder驱动本质原理,及对应binder驱动怎么进行跨进程通信,及内存等拷贝方式数据等4、对binder从上层的java app端一直到最底层的内核binder驱动,都可以顺利理通5、针对系统开发过程中遇到的binder报错等分析方法,及binder bug案例学习6、针对面试官任何的binder问题都可以对答自如7、socket这种跨进程通信实战使用8、针对android源码中使用的socket源码轻松掌握9、android系统源码中最常见的socketpair中双向跨进程通信10、使用socket实现一个可以让app执行shell命令的程序

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧