关于Android系统一次能创建多大的Bitmap?

 我来答
妥实且靓丽的焰火4620
推荐于2016-08-12 · 超过66用户采纳过TA的回答
知道答主
回答量:115
采纳率:0%
帮助的人:140万
展开全部
实际操作来看应该是正确的,且看如下实验:
在创建Bitmap是无论将其width和height初始化多么大,只要不执行绘图操作,都不会报OOM(out of memory)错误
通过Config.ALPHA_8单字节设置Bitmap,最后生成的图片只有一个黑色背景
通过Config.ARGB_4444两个字节设置,width*height 最大可以初始化到1006*1006*8,才能保证在绘图时不提示错误
通过Config.ARGB_8888四个字节设置,width*height 最大可以初始化到1006*1006*4,才能保证在绘图时不提示错误
在上面极限测试过程中,仅能保证第一次绘图操作正确,再来一次就OOM了
所以由此可以得出如下结论:
Bitmap在创建时是没有分配内存的(当然了,如果是通过decode方法直接解析图像文件,应该是会即时分配的;网上一位高手说Android系统一次能读取的最大文件大小为1M,本人尚未验证)
1006*1006*8*2大约等于16M
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式