Android加载大图(二)
来源:互联网 发布:windows nas 方案 编辑:程序博客网 时间:2024/05/10 13:23
int maxMemory=(int)(Runtim.getRuntime().maxMemory);
通过这行代码我们可以知道每个应用程序最高可用内存是多少,大部分手机是32M
图片有各种形状和大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小,系统图片库里展示的图片都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高很多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易初心OOM,
Android计算一张图片所占内存大小:图片长*宽所占像素字节数,而像素字节Android中只有四种
1、alpha-8 占一个字节
2、ARGB-444 占2个字节
3、ARGB-8888占4个字节
4、RGB-565 占2个字节
ARGB 透明度 红色 绿色,蓝色
可以通过bitmap.setConfig(Bitmap.Config.ARGB_4444),
BitmapFactory这个类提供了很多解析方法,decodeByteArray.decodeFile,decodeResource等,我们应该根据图片的来源选择合适的方法,比如SD卡中的图片使用decodeFile
方法,网络图片可以使用decodeStrean方法,资源文件中的图片可以使用decodeResource方法,这些方法会为已经构建的bitmap分配内存,这时很容易出现OOM,为此,每一种解析方法都提供了一个可选的BitemapFactory.Options参数,将这个参数的inJustDecodeBounds属性设置为true就可以让解析方法金志伟bitmap分配内存,返回值也不再是个bitmapbitmap对象,而是null,虽然bitmap是null,但是BitemapFactory。Options的outWidth,outHeight和outMimeType属性都会赋值,这个技巧让我们可以再加载图片之前就获取到的图片的长宽值和mime类型,从而根据情况对图片进行压缩。
- Android加载大图(二)
- Android 加载大图(一)
- Android大图加载方法
- android 高效加载大图
- Android 加载大图片
- android 加载大图片
- android加载大图片
- android高效加载大图
- Android-加载大图片
- android加载大图片
- Android高效加载大图
- android 加载大图片
- android加载大图片
- Android加载大图
- Android完美加载大图
- Android 加载大图片
- Android 加载大图片
- Android加载大图
- openpyxl 读写Excel Workbook
- 在 CMD 创建文件
- 12个Material Design风格控件的使用
- 浅谈SuperMap iMobile for Android在Android Studio平台开发应用
- c++primer plus 第12章习题
- Android加载大图(二)
- iOS学习之——关于何时使用storyborad和xib
- 自定义ViewPager,广告条目可点击和广告图片宽高自适应。
- linux、windows中ping大数据包的命令格式
- linux下对文件的读写操作
- bitmapfactory.decodefile 内存溢出(OOM)问题解决方案
- android 获取sim一些信息方法如下:
- iOS中需要查询的设备号, 型号
- 走进VR游戏开发的世界