图片加载的基本方式
2016-04-28 20:49
351 查看
图片很耗内存,同时了也是极其重要的一个模块。各种各样的色彩,让app更加酷炫。
主要涉及到的类
BitmapFactory
BitmapFactory.Options
加载图片的方式
BitmapFactory的一系列decode函数。通常,不直接加载图片,而是获取图片的大致信息。比如高度,宽度,图片类型,然后根据实际情况,获取缩放后的图片(试想,磁盘中的图片很大,直接加载图片,只会造成OOM (^-^))
获取图像大略信息,主要是要设置 BitmapFactory.Options.inJustDecodeBounds = true
int BitmapFactory.Options.outHeight 图片的实际高度
int BitmapFactory.Options.outWidth 图片的实际宽度
int BitmapFactory.Options.inSample 缩放的系数,比如 inSample=2时,内存图片的高度和宽度都是实际图片的一半。
获取到图片的大略信息之后,可以计算Options.inSample的值,然后就是直接加载图像了。
Android3.0及其后版本,可以复用已经申请的图片内存。
主要需要设置
Bitmap BitmapFactory.Options.inBitmap 这是将被复用的图片。
主要涉及到的类
BitmapFactory
BitmapFactory.Options
加载图片的方式
BitmapFactory的一系列decode函数。通常,不直接加载图片,而是获取图片的大致信息。比如高度,宽度,图片类型,然后根据实际情况,获取缩放后的图片(试想,磁盘中的图片很大,直接加载图片,只会造成OOM (^-^))
获取图像大略信息,主要是要设置 BitmapFactory.Options.inJustDecodeBounds = true
BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeResource(getResources(), R.id.myimage, options); int imageHeight = options.outHeight; int imageWidth = options.outWidth; String imageType = options.outMimeType;
int BitmapFactory.Options.outHeight 图片的实际高度
int BitmapFactory.Options.outWidth 图片的实际宽度
int BitmapFactory.Options.inSample 缩放的系数,比如 inSample=2时,内存图片的高度和宽度都是实际图片的一半。
获取到图片的大略信息之后,可以计算Options.inSample的值,然后就是直接加载图像了。
Android3.0及其后版本,可以复用已经申请的图片内存。
主要需要设置
Bitmap BitmapFactory.Options.inBitmap 这是将被复用的图片。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories