from yzw@iw
在ImageView类中,尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。
因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的source,decodeStream最大的秘密在于其直接调用
>> native code --
>> nativeDecodeAsset()来完成decode,无需再使用java层的createBitmap,从而节省了java层的空间
另外,下面这个也有说:
http://li53262182.blog.163.com/blog/static/12839338720104614142427/
out of Memory:bitmap size exceed vm limitation
1. InputStream is = this.getResources().openRawResource(R.drawable.pic1);
BitmapFactory.Options options=new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inSampleSize = 10;
Bitmap btp =BitmapFactory.decodeStream(is,null,options);
2. bmp.recycle()
3. system.gc()
如果是要从sdcard中读取图片,可以用这样的方式得到InputStream:
InputStream isImg = new FileInputStream("Image路径");
-----------------------------------------------------------------------
另外,decodeStream直接拿的图片来读取字节码了,
不会根据机器的各种分辨率来自动适应,
使用了decodeStream之后,需要在hdpi和mdpi,ldpi中配置相应的图片资源,
否则在不同分辨率机器上都是同样大小(像素点数量),显示出来的大小就不对了。
分享到:
相关推荐
软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path、Bitmap用法,以及实现的代码分析。 1. 获取Bitmap: 1)在图片下载缓存好之后...
处理bitmap内存溢出问题
赠送jar包:RoaringBitmap-0.7.45.jar; 赠送原API文档:RoaringBitmap-0.7.45-javadoc.jar; 赠送源代码:RoaringBitmap-0.7.45-sources.jar; 赠送Maven依赖信息文件:RoaringBitmap-0.7.45.pom; 包含翻译后的API...
android bitmap outofMemory 用来解决android中常见的bitmap outOfMemory
机器视觉技术必备,从位图到halcon图像,bitmap图像转为halcon图像,bitmap to Hobject
改用原始图像数据流回调函数RegisterImageStreamCallback进行抓图 但回调函数帧为YUV420格式 需要转成Bitmap才用用于显示及本地查看 在网上找了好多都是基于R Y+1 4075 V 128 G Y 0 3455 U 128 – 0 7169 V 128 B Y+...
Halcon_Bitmap转换方法 写的文档 开发笔记
C#语言下,官方好像没有提供直接的方式把Bitmap转为Mat,但是可以使用我的这个方式转变格式
赠送jar包:RoaringBitmap-0.7.45.jar; 赠送原API文档:RoaringBitmap-0.7.45-javadoc.jar; 赠送源代码:RoaringBitmap-0.7.45-sources.jar; 赠送Maven依赖信息文件:RoaringBitmap-0.7.45.pom; 包含翻译后的API...
c#.net Bitmap类的基本使用方法
3个bitmap文件,用于认识bitmap文件格式的本质
一个在VC中将Bitmap转换为Byte[]的小例子。
赠送jar包:RoaringBitmap-0.5.11.jar; 赠送原API文档:RoaringBitmap-0.5.11-javadoc.jar; 赠送源代码:RoaringBitmap-0.5.11-sources.jar; 赠送Maven依赖信息文件:RoaringBitmap-0.5.11.pom; 包含翻译后的API...
主要介绍了 Android canvas drawBitmap方法详解及实例的相关资料,需要的朋友可以参考下
将图片由bitmap类型转换为stream类型再转换为byte[]类型,然后再还原
加深对bitmap数据结构的理解,bitmap数据位图内存指针数据的长度
bitmapFont.zip
海康SDK采图 生成BitMap类型的图片
android 通过surfacetexture绘制Bitmap,使用ISurfaceComposerClient创建新图层