`
1846396994
  • 浏览: 72803 次
社区版块
存档分类
最新评论

Android使用BitmapFactory.Options解决加载大图片内存溢出问题

 
阅读更多

由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出。Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfMemoryError),只有在BitmapFactory加载图片时使用BitmapFactory.Options对相关参数进行配置来减少加载的像素。 

  1、设置缩放大小对图片作处理 
 public Bitmap getBitmapFromFile(File dst, int width, int height) { if (null != dst && dst.exists()) { BitmapFactory.Options opts = null; if (width > 0 && height > 0) { opts = new BitmapFactory.Options(); opts.inJustDecodeBounds = true;


原文地址:Android使用BitmapFactory.Options解决加载大图片内存溢出问题 | http://orgcent.com/android-outofmemoryerror-load-big-image/
分享到:
评论

相关推荐

    android BitmapFactory.Options使用方法详解

    BitmapFactory.Options的使用是在加载图片时,就从图片的加载和使用说起  怎样获取图片的大小? 首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了。 新问题又...

    BitmapFactory.Options

    BitmapFactory.Options

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

    在将图片转换成Bitmap的时候,由于图片的大小不一样,当遇到很大的图片的时候会出现超出内存的问题,为了解决这个问题Android API提供了BitmapFactory.Options这个类. 2. 由于Android对图片使用内存有限制,若是...

    图片过大引起的内存溢出解决方案

    使用BitmapFactory加载图片时,如果图片过大可能引起OutOfmemory溢出的问题。解决办法。

    Android 使用内置的Camera应用程序捕获图像

    加载并显示一副图像对内存使用情况有显著的影响,Android提供了一个名为BitmapFactory 的实用程序类,该程序提供了一系列的静态方法,允许通过各种来源加载Bitmap图像。针对我们的需求,将从文件加载图像,并在最初...

    ViewPager或ImgeView加载图片出现内存溢出(OOM)

    使用setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。解决方案:改用先通过BitmapFactory.decodeStream...

    android加载大图

    由于android内存的限制,andoid系统给每个应用分配的内存是有限的,当直接加载一个占用内存加大的图片时就会发生OOM. 一、降采样大图 主要是利用BitmapFactory.Options对象的inSampleSize参数,根据空间尺寸与大图...

    Android Bitmap的加载与缓存

    通常情况下图片的体积都比较大,单个应用允许使用的内存又是有限的,所以我们需要采取一些手段减少内存占用并提高加载速度。 1、图片加载 SDK提供了BitmapFactory类供我们加载图片,常用的方法有这么几个: ...

    android 调用相机显示拍摄后的图片

    BitmapFactory.Options options=new BitmapFactory.Options(); options.inJustDecodeBounds=true; BitmapFactory.decodeStream(getContentResolver().openInputStream(uri), null, options); options....

    BitmapFactory_Delegate.rar_android

    Delegate implementing the native methods of android.graphics.BitmapFactory.

    Android Bitmap的加载优化与Cache相关介绍

    一 . 高效加载 Bitmap BitMapFactory 提供了四类方法: decodeFile,decodeResource,decodeStream 和 decodeByteArray 分别用于从文件系统,资源...通过采样率即可高效的加载图片,遵循如下方式获取采样率: 将 BitmapFact

    android bitmap内存溢出

    Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts); 设置inJustDecodeBounds为true后,decodeFile并不分配空间,但可计算出原始图片的长度和宽度,即opts.width和opts.height。有了这两个参数,再通过...

    android内存优化之图片优化

    尽量不要使用setImageBitmap、setImageResource、BitmapFactory.decodeResource来设置一张大图,因为这些方法在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过...

    图片缓存机制代码

    import android.graphics.BitmapFactory.Options; import android.util.DisplayMetrics; /** * 1.从内存中加载 * 2.本地缓存中加载 * 3.本地加载 * @author Administrator * */ public class ...

    Android HttpURLConnection 读取网络图片.rar

    b=(Button)this.findViewById(R.id.b);//图片浏览按钮  et=(EditText)this.findViewById(R.id.et);... bitmap = BitmapFactory.decodeStream(is);//将InputStream变成Bitmap  is.close();//关闭InputStream

    avatar-android-可生成圆形、方形、及方形的组合头像.zip

    BitmapFactory.Options options = new BitmapFactory.Options(); options.inMutable = false; Bitmap avatar = BitmapFactory.decodeResource(getResources(), R.drawable.avatar, options); //圆形...

    android获取照片的快照 思路及实现方法

    1.首先解析出图片文件(注意在这里为了节约内存将inJustDecodeBounds设为true,这样的话解析的图片的话只有图片的尺寸大小信息) 代码如下:BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();...

    解决Android解析图片的OOM问题的方法!!!

    大家好,今天给大家分享的是解决解析图片的出现oom的问题,我们可以用BitmapFactory这里的各种Decode方法,如果图片很小的话,不会出现oom,但是当图片很大的时候 就要用BitmapFactory.Options这个东东了,Options里...

Global site tag (gtag.js) - Google Analytics