2 qq 33663983 qq_33663983 于 2016.04.06 20:04 提问

安卓中,处理图片产生了内存溢出怎么办啊?

安卓中,处理图片的时候内存溢出怎么解决啊?今天面试问这个问题(O_O)?……当时就蒙了………求指点……??

5个回答

Franous
Franous   2016.04.06 21:20
已采纳

1、对操作的Bitmap使用弱引用
2、使用LruCache+DiskLruCache(内存+本地缓存)提高内存使用率
3、可以的话适当裁剪ImageView,一般图片没必要太大,适合手机即可
4、适当减少图片质量,理由同上
5、反射调用com.android.internal.os.BinderInternal中的forceGc方法回收资源
6、在新的进程中使用图片
说白了,这只是"高效使用内存"和"使用更多内存"的问题罢了

bruse_android
bruse_android   2016.04.06 23:55

一般是使用bitmap.display降低内存溢出的

CSDNXIAOD
CSDNXIAOD   2016.04.06 20:11

图片内存溢出处理
android 下的图片内存溢出处理
Android 图片内存溢出处理笔记
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq_33867930
qq_33867930   2016.04.06 20:57

搜索图片的三级缓存有大把的博客可以解决这个问题,在这问一两句话整不明白。

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.07 11:16

楼主,用Picasso或者Glide就可以避免OOM了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android加载大量图片内存溢出的三种解决办法
方法一: 在从网络或本地加载图片的时候,只加载缩略图。 /** * 按照路径加载图片 * @param path 图片资源的存放路径 * @param scalSize 缩小的倍数 * @return */ public static Bitmap loadResBitmap(String path, int scalSize) { Bit
安卓图片处理
处理图片内存溢出!安卓存在着图片大于300k的图片可以处理大小!
如何解决内存溢出以及内存泄漏
前言:很多人在项目中都遇到过内存溢出问题,其实说白了就是内存不够用了,那么要解决这一个问题,我们就需要”开源节流”了1.开源(增加内存分配)每台手机给每个程序分配的内存都是固定的,那么是否有办法使我们的程序获取到更大的内存呢?其实是有的,而且很简单你只需要在清单文件中的application的节点中加入 android:largeHeap=”true” 即可, 是不是很简单?<applicati
描述下jvm的gc机制,常用的jvm调优方法,oom如何产生,如何处理oom 问题?
GC机制:分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象为"不可达的".GC 将负责回收所有"不可达"对象的内存空间。 jvm 调优方法: 1.最基本的建议就是尽早释放无用对象的引用。 大多数程序员在使用临时变量的时候,都是让引用变量在退出活动域(scope)后,自动设置为null.我们在使用这种方式时候,必须特别注意一些复杂的对
安卓加载图片过大而导致OOM内存溢出的解决方法(巨坑....)
如果图片太大会造成OOM内存溢出的错误,需要用Bitmap的压缩机制。 如果跳转的页面含有图片可能会导致跳转失败。 比如说我这里是一旦触发了某个按键,就修改该xml的图片和文字说明 则setImageResource应该改成这样imageview.setImageBitmap(decodeSampledBitmapFromResource(getResources(),name[i], 10
图片处理(防止内存溢出)
导读本篇承接 内存泄漏与内存溢出总结
android 慎用drawable中大图,造成内存溢出的解决方案
android 中调用drawable中图片,占用大量内存,造成内存溢出的解决方案。
android图片加载内存优化方法,有效解决大图片内存溢出(oom)
低内存的手机如果直接加载大图片,往往会出现OOM的情况.即便是主流手机,也不能无限制的加载大图片.所以在显示图片之前,需要对图片处理,把图片缩放为最合适的尺寸再显示. 网上很大方法都是不管三七二十一,直接压缩图片.这样可能会导致图片失真,显示模糊.我采用的方式是,显示尺寸有多大,就等比例压缩成多大尺寸的图片,关键关于在于如何寻找最合适的尺寸,下面分享两个关键方法,提取至google开源框架vol
浅谈Android多图(包括大图)上传时的内存处理,防止内存溢出。
Android多图上传时,为了防止内存溢出,基本只要做好两点就好了,一是及时释放已经上传完的图片,以及,单例上传。 下面有简单的代码说明下,因为我是从我项目里面提出来的,所以不能发完整的代码,sorry~ 1、首先,图片的model, ImageBean model中保存bitmap对象,然后写好回收方法。 然后,上传大致分为路径上传,还有压缩后以byte[]
Android--图片加载处理(内存溢出和三级缓存)
最简单的解决办法,用现成的框架,推荐glide和picasso一、glide下载地址:https://github.com/bumptech/glide用法:在build.gradle中加入:repositories { mavenCentral() maven { url 'https://maven.google.com' } } dependencies { compile '...