Android 加载大图片
来源:互联网 发布:手机迅雷么打开php文件 编辑:程序博客网 时间:2024/04/28 05:10
//当加载一张大图片的时候,会报内存溢出,所以我们必须把图片进行缩放public class MainActivity extends Activity {private ImageView imageView;private int width;private int height;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView = (ImageView) findViewById(R.id.imageView);// 获取手机屏幕的分辨率 宽高Display display = getWindowManager().getDefaultDisplay();// 得到屏幕的宽和高width = display.getWidth();height = display.getHeight();System.out.println("窗体的高度:" + height);System.out.println("窗体的宽度:" + width);Options options = new Options();// 设置解析器,不会真正的解析这个位图 而是解析这个图片的out输出信息(宽度,高度)options.inJustDecodeBounds = true;BitmapFactory.decodeFile("/sdcard/mm.jpg", options);int picHeight = options.outHeight;int picWidth = options.outWidth;System.out.println("图片的高度:" + picHeight);System.out.println("图片的高宽度:" + picWidth);int scaleX = picWidth / width;int scaleY = picHeight / height;System.out.println("水平缩放的比例:" + scaleX);System.out.println("垂直缩放的比例:" + scaleY);int scale = 1;// 判断水平缩放还是垂直缩放if (scaleX > scaleY && scaleY > 1) {// 水平缩放scale = scaleX;}if (scaleY > scaleX && scaleX > 1) {// 垂直缩放scale = scaleY;}// 在这里去真正解析这个问题options.inJustDecodeBounds = false;// 缩放的比例options.inSampleSize = scale;Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/mm.jpg", options);imageView.setImageBitmap(bitmap);;}}
0 0
- Android 加载大图片
- android 加载大图片
- android加载大图片
- Android-加载大图片
- android加载大图片
- android 加载大图片
- android加载大图片
- Android 加载大图片
- Android 加载大图片
- android缩放大图片加载
- Android 高效加载大图片
- Android 高效加载大图片
- android 加载大图片处理
- Android 高效加载大图片
- android如何加载大图片
- Android 高效加载大图片
- Android 高效加载大图片
- Android 如何加载大图片
- <菜鸟学算法-A排序(冒泡排序)>
- CGAffineTransformTranslate
- Makefile 经典教程
- 5 视图控制器生命周期
- SPWeb.ProcessBatchData使用方法总结
- Android 加载大图片
- 接口程序:webservice发送报文二:
- 有jQuery背景 该如何用AngularJS编程思想?
- HDU Max Sum
- segment fault 理解
- Java内部类总结
- 数据结构与算法分析-用C语言实现栈(链表方式)
- windows socket 网络编程
- javascript 构造对象事例