java BufferedImage加载图片内存溢出

问题描述

有个需求是生成一张1700*2338像素的图片并在图片上添加文字,大小大概是160k左右,单独在main方法里面用java.awt.image.BufferedImage类生成图片是没问题的,但是在web后台一调用BufferedImage的构造方法就报java.lang.OutOfMemoryError:Javaheapspace,内存溢出,代码如下:intwidth=1700;intheight=2338;BufferedImagebuffImage=newBufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);网上遇到BufferedImage操作图片容易内存溢出的问答也有,找了一下都找不到我要的答案(不是加大jvm),但是想操作图片的话,java的貌似只有这个类比较方便可用,感觉这个BufferedImage真是个坑啊,求解,各位高手们指点迷津!!!

解决方案

解决方案二:
改用ImageReader去读这个资源吧。
解决方案三:
把后台的配置文件或启动脚本打开看看启动的内存参数是怎样的

时间: 2024-09-18 17:06:47

java BufferedImage加载图片内存溢出的相关文章

Android加载图片内存溢出问题解决方法

  这篇文章主要介绍了Android加载图片内存溢出问题解决方法,本文讲解使用BitmapFactory.Options解决内存溢出问题,需要的朋友可以参考下 1. 在Android软件开发过程中,图片处理是经常遇到的. 在将图片转换成Bitmap的时候,由于图片的大小不一样,当遇到很大的图片的时候会出现超出内存的问题,为了解决这个问题Android API提供了BitmapFactory.Options这个类. 2. 由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出.Bi

bitmap-ViewPager加载图片内存溢出怎么解决?

问题描述 ViewPager加载图片内存溢出怎么解决? @Override public Object instantiateItem(View view int position) { View mv = mListViews.get(position); ((ViewPager) view).addView(mv 0); // 加载图片 ImageView iv = (ImageView) mv.findViewById(R.id.imageView); try {//图片的名称 Strin

Android加载图片内存溢出问题解决方法_Android

1. 在Android软件开发过程中,图片处理是经常遇到的. 在将图片转换成Bitmap的时候,由于图片的大小不一样,当遇到很大的图片的时候会出现超出内存的问题,为了解决这个问题Android API提供了BitmapFactory.Options这个类. 2. 由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出.Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存OOM,只有在BitmapFactory加载图片时使用BitmapFact

eclipse使用fresco框架加载图片,内存没有释放.求大神指导

问题描述 eclipse使用fresco框架加载图片,内存没有释放.求大神指导 02-01 17:11:36.785: W/unknown:CloseableReference(17517): Finalized without closing: 429970e8 42997048 (type = CloseableStaticBitmap) 02-01 17:11:36.785: W/unknown:CloseableReference(17517): Finalized without cl

android 解决ViewPager加载大量图片内存溢出问题_Android

1.大家都知道为ViewPager构建适配器继承PagerAdapter,怎么构建就不说了.Viewpager会默认加载当前页和当前页的左右两页.一开始当前页是下标0,所以一开始默认加载第0页(指下标,下同)和第1页.当你向右滑动,当前页为第1页时,ViewPager会加载第2页,这时一共有3页存在(第0,1,2页).再向右滑动,当前页为第2页时,会移除第0页,加载第3页,同理向左滑动当前页为第1页时,会移除第3页.这么说应该懂了吧. 知道了上面的原理,就可以让ViewPager始终只加载3页的

android 解决ViewPager加载大量图片内存溢出问题

1.大家都知道为ViewPager构建适配器继承PagerAdapter,怎么构建就不说了.Viewpager会默认加载当前页和当前页的左右两页.一开始当前页是下标0,所以一开始默认加载第0页(指下标,下同)和第1页.当你向右滑动,当前页为第1页时,ViewPager会加载第2页,这时一共有3页存在(第0,1,2页).再向右滑动,当前页为第2页时,会移除第0页,加载第3页,同理向左滑动当前页为第1页时,会移除第3页.这么说应该懂了吧. 知道了上面的原理,就可以让ViewPager始终只加载3页的

[IOS]来回加载大量图片内存溢出的问题

用xcode的instrument工具查看内存使用情况时,发现程序使用内存情况很稳定维持在1.3M左右,也没有内存泄漏.那么问题来了,程序无故退出肯定是内存溢出了,而instrument并显示没有溢出(一般单个程序内存消耗唯20M左右会发警告,30M程序崩溃退出).所以一直在想是不是哪个地方忘记释放内存了,经过仔细检查,并不存在没有释放的内存啊,纠结了一天.最后终于找到问题所在了,是[UIImage imageNamed@""]在搞鬼:       翻看了一些网上资料http://ww

WPF 加载大量图片内存溢出

问题描述 小弟在用WPF做一个项目,但是图片素材过多,而且素材大小不可以改变,图片素材一共有接近4G,加载的时候总是出现使用一会新图片就没法继续显示了(报了没有足够内存),请问各位前辈,是否有什么办法可以动态加载图片资源呢?先在的做法是直接BitmapImage(newUri(path))的方法创建一个BitmapImage,然后直接调用这个BitmapImage,发现这么调用,使用过的图片资源是没法及时释放掉的,请问有什么方法能及时释放图片资源,或者可以实现动态加载图片资源呢?感激不尽 解决方

Android编程学习之异步加载图片的方法_Android

本文实例讲述了Android编程学习之异步加载图片的方法.分享给大家供大家参考,具体如下: 最近在android开发中碰到比较棘手的问题,就是加载图片内存溢出.我开发的是一个新闻应用,应用中用到大量的图片,一个界面中可能会有上百张图片.开发android应用的朋友可能或多或少碰到加载图片内存溢出问题,一般情况下,加载一张大图就会导致内存溢出,同样,加载多张图片内存溢出的概率也很高. 列一下网络上查到的一般做法: 1.使用BitmapFactory.Options对图片进行压缩 2.优化加载图片的