加载大图到应用内存时所需的缩放步骤
来源:互联网 发布:讲诚信 知礼仪 编辑:程序博客网 时间:2024/06/10 21:54
当应用需要加载图片时,很有可能图片会比系统的堆内存要大,如果不进行缩放的话会导致应用出错。
//首先得到手机屏幕的宽高WindowManager wm=(WindowManager)getSystemService(WINDOW_SERVICE);int windowH=wm.getDefaultDisplay().getHeight();int windowW=wm.getDefaultDisplay().getWidth();//android 3.0以后可用Point outSize=new Point();wm.getDefaultDisplay().getSize(outSize);int windowH=outSize.x;int windowW=outSize.y;
系统上固定的堆内存应该是16M,加载一张高像素的图片很有可能会超过这个大小
//图片解析的配置BitmapFactory.Options= opts=new Options();//true代表不进行图片解析opts.inJustDecodeBounds=true;//获取图片的高宽BitmapFactory.decodFile("图片路径名称",opts);int imageH=opts.outHeight;int imageW=opts.outWidth;//计算缩放比例int scaleX=imageH/windowH;int scaleY=imageW/windowW;int scale=1;if(scaleX>scaleY & scaleY>=1){scale=scaleX;}if(scaleY>scaleX & scaleX>=1){scale=scaleY;}//解析图片opts.inJustDecodeBounds=false;opts.inSampleSize=sacle;//现在得到了图片bitmapBitmap bitmap=BitmapFactory.decodFile("图片路径名称",opts);//假设程序有一个ImageView,这样就加载了一张高像素的图片了ImageView iv=setImageBitmap(bitmap);
0 0
- 加载大图到应用内存时所需的缩放步骤
- 加载大图片到内存,进行缩放
- 加载大图片到内存
- 加载大图片到内存
- 加载大图片到内存
- 加载大图片到内存
- 加载大图片到内存
- 大图片加载到内存的OOM异常
- Android利用缩放加载大图片避免内存溢出
- android加载大图片到内存
- Android加载大图片到内存
- Android加载大图片到内存
- 从sdcard加载大图片到内存
- 27_加载大图片到内存
- 加载大图片到Android内存
- android 加载大图片到内存
- android中加载大图片到内存
- Android加载大图片到内存
- Android 第九天(晚上)
- 【机房重构】——七层登陆代码分析
- 四川成都电信天邑TEWA-300AI EPON光猫各种折腾
- 树和二叉树
- 621C. Wet Shark and Flowers【概率】
- 加载大图到应用内存时所需的缩放步骤
- hdu2037 今年暑假不AC(贪心||暴力)
- Python教程学习简记5--Python 列表生成式(List Comprehensions)
- linux yum源讲解
- 使用二分法猜1到100之间的一个数最多需要几次猜对
- Spring的事务管理
- UBIFS 白皮书 -- UBIFS设计简介
- Java 自定义注解详解
- 错误记录--“==”与“=”错误