Android开发之大图片加载内存溢出
来源:互联网 发布:形容男生的网络词语 编辑:程序博客网 时间:2024/05/01 03:21
缩放加载加载大图片(使用大图片时可能出现的异常)
Caused by: java.lang.OutOfMemoryError
PS:
图片宽高:2400*3200
手机屏幕大小:320*480
宽缩放: 7
高缩放: 6
需要考虑的问题:
(1)动态获取图片的分辨率
(2)动态获取手机分辨率
实现步骤
(1)获取手机屏幕的宽和高
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = display.getHeight();
(2)获取图片的宽和高
//创建BitmapFactor的配置参数 BitmapFactory.Options options = new Options(); //设置options的inustDecodeBounds值为true options.inJustDecodeBounds = true; //此时BitmapFactory.decode方法并不会去真正加载图片,但是可以返回图片的一些信息(如宽和高) BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher, options); //根据options的配置信息获取图片的宽和高 int imgWidth = options.outWidth; int imgHeight = options.outHeight;
(3)计算缩放比
int scale = 1;//默认的缩放比 int scaleX = imgWidth/screenWidth;//图片宽的缩放比 int scaleY = imgHeight/screenHeight;//图片高的缩放比 if(scaleX>scaleY && scaleX>scale){ //当宽的缩放比大于高的缩放比,并且缩放比大于默认缩放比时,将宽的缩放比赋给默认缩放比 scale = scaleX; }else if(scaleY>scaleX && scaleY>scale){ scale = scaleY; }
(4)按照缩放比显示图片
//根据inSampleSize(采样率)来进行缩放,当inSampleSize为2时,图片缩放为原图大小的1/4; options.inSampleSize = scale;//设置options.inJustDecodeBounds值为false,即开始真正加载图片 options.inJustDecodeBounds = false; Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher, options); iv.setImageBitmap(bitmap);
0 0
- Android开发之大图片加载内存溢出
- android 加载大图片防止内存溢出
- android 加载大图片防止内存溢出
- android 加载大图片防止内存溢出
- android 加载大图片防止内存溢出
- Android之读取大图片内存溢出
- android有效解决加载大图片内存溢出的问题
- 解决Android加载大图片内存溢出的问题(OutofMemoryException)
- 解决Android加载大图片内存溢出的问题(OutofMemoryException)
- Android加载大图片内存溢出的问题总结
- 解决android加载大图片,内存溢出问题
- Android加载大图片内存溢出的问题总结
- android有效解决加载大图片内存溢出的问题
- Android利用缩放加载大图片避免内存溢出
- 加载大图片内存溢出的解决办法
- 加载大图片,内存溢出问题
- Android解决大图片内存溢出
- Android解决大图片内存溢出
- 欢迎使用CSDN-markdown编辑器
- 动态规划之最长递增子序列 最长不重复子串 最长公共子序列
- 物理地址和线性地址介绍
- mysql表的清空、删除和修改操作详解
- Java入门 一、类和对象
- Android开发之大图片加载内存溢出
- 仿腾讯漫画目录页实现
- 453. Minimum Moves to Equal Array Elements#1(Done)
- hdu 5999 The Third Cup is Free
- 06JSP内置对象response
- SPOJ - TAP2013H D - Horace and his primes 素数筛+素数分解+打表
- HTML基础:文本的排版格式(5)
- Nunit 写法不错
- MVC之构建一个购物网站