Bitmap获取图片内存溢出

简介: 从本地sd卡获取图片内存溢出解决方法 public Bitmap getBitmap(String path) { File file = new File(path); Bitmap resizeBmp = null; BitmapFactory.

从本地sd卡获取图片内存溢出解决方法

 public Bitmap getBitmap(String path) {
    	
        File file = new File(path);
        Bitmap resizeBmp = null;
        BitmapFactory.Options opts = new   BitmapFactory.Options();
        // 数字越大读出的图片占用的heap越小 不然总是溢出
         opts.inSampleSize = 2;
        resizeBmp = BitmapFactory.decodeFile(file.getPath(), opts);
        return resizeBmp;
    }

如果图片是全屏显示的话

opts.inSampleSize = i;
i数值不要太大,如果是屏幕上的小图片的话尽情呀吧,i=1,压缩倍数是1倍,i=2压缩倍数是4倍,因为i是它边的压缩,整个图的话肯定的边长的平方么,大家懂得。
从资源文件中获取图片时也可能出现内存溢出,尤其是在Listview之类的适配器中进行调用的时候。
BitmapFactory.Options opts = new   BitmapFactory.Options();
opts.inSampleSize =5;
</pre><pre name="code" class="java"><span style="white-space:pre">mBgBitmap = BitmapFactory.decodeResource(getActivity().getResources(), imgv[position],opts);

t.setImageBitmap(mBgBitmap);</span>
imgv是存放资源文件的数组,t是Imgview。
这块还有一个问题就是内存释放,我用的感觉比较好的是下面这个方法,可以试一下,本人也是一介菜鸟,原理 还没理解,只不过感觉可以解决问题
t.setImageBitmap(null);
<span style="white-space:pre">			</span>if(mBgBitmap != null  && !mBgBitmap.isRecycled())  
<span style="white-space:pre">	</span>        {  
<span style="white-space:pre">				</span>System.out.println("释放内存!");
<span style="white-space:pre">				</span>mBgBitmap = null; 
<span style="white-space:pre">	</span>        } 
<span style="white-space:pre">			</span>System.gc();
先将所要赋值的控件置为空,防止有关联的文件出现非法释放
再将bitmap置为空,最后释放c端代码中的内存
目录
相关文章
Image.FromFile导入图片引发的“内存不足”问题
  C# 的Image.FromFile导入一些大小为0的假图片文件引发的“内存不足”问题。   1、案例问题现场 (1)、大小为0的假图片文件     (2)、引发血案   2、解决方法 这里用的方法是导入时先对图片的大小进行判断,注意获取图片大小的方法。
1588 0
|
5月前
|
定位技术 Python
Pyglet综合应用|推箱子游戏之关卡图片载入内存
Pyglet综合应用|推箱子游戏之关卡图片载入内存
89 0
|
5月前
|
计算机视觉 C++
win7系统OpenCV读取图片内存位置异常
win7系统OpenCV读取图片内存位置异常
148 0
|
移动开发 缓存 前端开发
构建高性能 React Native 跨端应用—图片与内存
介绍 React Native 跨端应用图片和内存的优化
构建高性能 React Native 跨端应用—图片与内存
|
编解码 文件存储 Android开发
Android | 如何计算图片占用内存的大小
Android | 如何计算图片占用内存的大小
Android | 如何计算图片占用内存的大小
|
存储 缓存 Java
图片系列(6)高低版本 Bitmap 内存分配与回收原理对比
图片系列(6)高低版本 Bitmap 内存分配与回收原理对比
269 0
图片系列(6)高低版本 Bitmap 内存分配与回收原理对比
|
存储 编解码 Android开发
【Android 内存优化】Bitmap 内存占用计算 ( Bitmap 图片内存占用分析 | Bitmap 内存占用计算 | Bitmap 不同像素密度间的转换 )
【Android 内存优化】Bitmap 内存占用计算 ( Bitmap 图片内存占用分析 | Bitmap 内存占用计算 | Bitmap 不同像素密度间的转换 )
218 0
|
缓存 Android开发 iOS开发
燃烧我的卡路里 ---- Flutter瘦内存瘦包之图片组件
作者:闲鱼技术-炉军 背景 在电商类APP里,图片到现在为止仍然是最重要的信息承载媒介,不得不说逛淘宝的过程,其实就是一个看图片的过程。而商品详情页中的图片,通常是页面中内存占用最多的内容,占用了整个页面内存的超过 50%。
2396 0
Matisse预览图片黑屏,Glide内存溢出
项目中要到图片、视频选择的功能,然后google了一下,找到Matisse,知乎的图片选择框架,用的人还挺多的,果断依赖gradle,然后开始我的踩坑之旅。
2094 0

热门文章

最新文章