android bitmap内存处理
来源:互联网 发布:数据连接池的工作原理 编辑:程序博客网 时间:2024/05/17 00:34
程序中一次性加载多张图片,而且还要适应屏幕,这就造成内存紧张,进程会出现OOM,特别是现在的手机分辨率高达1920*1024,一张图片占用内存高达8M,首先要获取原图片的高宽
//减少内存
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.RGB_565;
options.inPurgeable = true; //设置图片可以被回收
//options.inTempStorage=new byte[12 * 1024];//听说是开启临时存储
options.inInputShareable = true;
Bitmap backgroudBitMap = BitmapFactory.decodeStream(new FileInputStream(file),null,options);
然后可获取高宽
float imgWidth = backgroudBitMap.getWidth();
float imgHeight = backgroudBitMap.getHeight();
// 取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
// 得到新的图片
Bitmap newbm = Bitmap.createBitmap(backgroudBitMap, 0, 0,(int) imgWidth, (int) imgHeight, matrix, true);
在然后可以根据新的图片获取大小并且用Canvas画图了
现在原图可以回收了backgroudBitMap.recycle();
backgroudBitMap = null;
因为新的图片要设置成背景图,不能现在回收,图片要是缩小还好,要是放大则占用很大的内存,如果是1-3张还好,多了之后就会内存溢出了,大家有什么好的方法代替createBitmap进行缩放,或者有什么好的方法管理内存,大家共同学习进步。
- android bitmap内存处理
- android 中用bitmap 内存溢出处理
- Android有效的处理Bitmap,减少内存
- Android Bitmap图片处理,防止内存溢出
- android Bitmap处理以 节省内存的方法
- Android Bitmap内存限制
- android bitmap内存溢出
- Android Bitmap内存限制
- Android Bitmap内存限制
- Android Bitmap内存限制
- Android bitmap 内存溢出
- android bitmap内存溢出
- Android Bitmap内存限制
- Android Bitmap内存溢出
- Android Bitmap内存限制
- Android Bitmap内存溢出
- Android Bitmap内存优化
- Android Bitmap内存限制
- 将dijkstra和Floyd比较好的
- STL algorithm算法mov,move_backward(38)
- 校验文件不起作用
- default argument given of parameter 的问题
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 List Set
- android bitmap内存处理
- switch分支语句注意事项及注册界面的使用思路
- NYOJ 814 又见拦截导弹
- Linux负载均衡软件LVS之一(概念篇)
- java的web.xml中<url-pattern>配置
- ASP.NET并发处理
- 【视频】零基础学Android开发:蓝牙聊天室APP(二)
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- 计算字符串的相似度(编辑距离)