Android 图片大小超过预算的VM:java.lang.OutOfMemoryError: bitmap size exceeds VM budget

Pyinstaller 打包 Pyzbar 时缺失 DLL 文件的排查与修复指南 本文详细解析了使用Pyinstaller打包Pyzbar库时,因缺失关键DLL文件导致程序闪退的常见问题。文章提供了从问题复现、错误诊断到最终修复的完整解决方案,核心在于通过修改.spec配置文件,手动将缺失的libzbar-64.dll等文件添加到打包过程中,确保生成的可执行文件能独立运行。 阅读详情
Android 2.3.3         
Eclipse Version: 3.7.0         
LogCat 


Activity显示图片,部分源代码:

			// 图片
			try {
				bitmap = BitmapFactory.decodeFile("/" + sdpath
						+ htc.getBitmap(), opt);
			} catch (Exception e) {
				e.printStackTrace();
			}
			htcImageView.setImageBitmap(bitmap);



使用过程中
LogCat 报错信息:

02-07 17:04:02.947: DEBUG/dalvikvm(15660): GC_EXTERNAL_ALLOC freed 75K, 61% free 3080K/7751K, external 14227K/16275K, paused 100ms
02-07 17:04:03.017: ERROR/dalvikvm-heap(15660): 4147200-byte external allocation too large for this process.
02-07 17:04:03.137: ERROR/GraphicsJNI(15660): VM won't let us allocate 4147200 bytes
02-07 17:04:03.148: DEBUG/dalvikvm(15660): GC_FOR_MALLOC freed 2K, 61% free 3078K/7751K, external 14227K/16275K, paused 37ms
02-07 17:04:03.191: DEBUG/skia(15660): --- decoder->decode returned false
02-07 17:04:03.191: DEBUG/AndroidRuntime(15660): Shutting down VM
02-07 17:04:03.191: WARN/dalvikvm(15660): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): FATAL EXCEPTION: main
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:284)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at com.taobao.htc.Game.handerUI(Game.java:522)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at com.taobao.htc.Game$1.run(Game.java:396)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.os.Handler.handleCallback(Handler.java:587)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.os.Handler.dispatchMessage(Handler.java:92)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.os.Looper.loop(Looper.java:123)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at java.lang.reflect.Method.invokeNative(Native Method)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at java.lang.reflect.Method.invoke(Method.java:507)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-07 17:04:03.218: ERROR/AndroidRuntime(15660): at dalvik.system.NativeStart.main(Native Method)
02-07 17:04:03.268: WARN/ActivityManager(61): Force finishing activity com.taobao.htc/.Game


发生错误原因分析:
bitmap图片尺寸较大,使用后超过预算的VM;


网上查找到两种解决办法:
一种是使用缩略图,缩小图片大小

		opt = new BitmapFactory.Options();
		……
		opt.inSampleSize = 2; //使用缩略图,缩小倍数


 另一种是增加VM大小

		 VMRuntime.getRuntime().setMinimumHeapSize(16 * 1024 * 1024);
		 VMRuntime.getRuntime().setTargetHeapUtilization(0.75f);


但测试无效。

最好的解决办法:显示的回收图片。

基于Python实现身份证信息识别 身份证是一种重要的证件,包含了个人的基本信息,如姓名、性别、出生日期、住址等。在实际应用中,有时需要对身份证进行自动化的识别,以提高工作效率和准确性。本文将介绍如何使用Python实现身份证信息的识别,通过图像预处理、OCR技术和解析算法,实现对身份证号码和其他信息的提取和解析。 阅读详情

相关推荐

【OpenStack】OpenStack原理(一)——OpenStack发展及架构

OpenStack目前的七个核心组件,分别是计算(Compute)、对象存储(Object Storage)、认证(Identity)、用户界面(Dashboard)、块存储(Block Storage)、网络(Network)和镜像服务(Image Service)。

大数据分析BDA 2万+

android bitmap java.lang.outofmemoryerror,Android:如何解决位图java.lang.OutOfMemoryError?

我java.lang.OutOfMemoryError在使用位图显示大图像时得到了.为了调整位图的大小,我引用了以下链接Save Bitmap和BitmapFactory.decodeFile.我的logcat如下:FATAL EXCEPTION: mainjava.lang.OutOfMemoryErrorat android.graphics.Bitmap.nativeCreate(N...

weixin_39525355的博客 591

DOA估计算法从原理到仿真——CBF、Capon、MUSIC算法

从原理出发理解并实现经典的DOA估计算法

m0_55845774的博客 1万+

Android开发中使用 Bitmap.createBitmap() 函数出现java.lang.OutOfMemoryError错误

最近在开发一个应用的时候,使用了Bitmap的createBitmap()函数,在模拟器上运行的很好,可是到了真机上就出现了如下错误: AndroidRuntime: FATAL EXCEPTION: main Process: tob

ToBeTheOnlyOne的博客 5510

Hopf振荡器在机器人步态控制里到底怎么用?一个CPG仿生案例说清楚

本文深入解析了Hopf振荡器在机器人步态控制中的实际应用,通过CPG仿生案例详细展示了从数学方程到关节指令的完整流程。重点探讨了Hopf振荡器的极限环稳定性、参数调节技巧及自适应控制策略,为机器人运动控制提供了高效解决方案。

weixin_29284657的博客 200

UE4/5编译报错MSB3073终极解决指南:从路径检查到MSVC版本降级

本文针对UE4/5开发中常见的MSB3073编译报错,提供了一套从根源到实战的终极解决指南。文章系统性地讲解了错误成因,并分层次指导排查路径字符、环境变量、MSVC版本兼容性、权限冲突等核心问题,重点介绍了通过降级MSVC编译器版本等关键操作来彻底解决此编译难题。

rl6adventurer的博客 1432

android 报错java.lang.outofmemoryerror_Android:java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字...

我想在已存储的SD卡中显示ImageView中的Bitmap图像.运行后我的应用程序崩溃并导致OutOfMemoryError错误:(java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字节分配和2MB直到OOM)我不知道或为什么它的内存不足.我认为我的图像尺寸非常大,所以我试图改变它.Iterator it = imageArray.ite...

weixin_36359110的博客 906

Zemax实战:20×超高清变焦镜头设计全流程解析(从架构到制造)

本文详细解析了使用Zemax软件设计一款20倍变焦比、恒定F2.8光圈8K超高清镜头的全流程。从应对恒定光圈、宽光谱与8K解析力三大挑战的初始架构规划,到构建多重组态模型、分七阶段进行像差优化与公差分析,最终跨越制造鸿沟,为广播级影视与高精度工业检测应用提供了实战指南。

sun99的博客 550

Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结(oom)

Java程序的每个线程中都有一个独立的堆栈。默认的Java虚拟机最大内存仅为64兆,这在开发调试过程中可能没有问题,但在实际的应用环境中是远远不能满足需要的,除非你的应用非常小,也没什么访问量。清理应用程序中web-inf/lib下的jar,如果tomcat部署了多个应用,很多应用都使用了相同的jar,可以将共同的jar移到tomcat共同的lib下,减少类的重复加载。发生这种问题的原因是java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。

weixin_42164754的博客 5682

用Python的fengwo模块复刻通达信筹码峰(COST/WINNER),选股效率提升10倍

本文介绍了如何使用Python的fengwo模块高效复刻通达信的筹码峰(COST/WINNER)计算,显著提升选股效率。通过C++内核与多线程优化,fengwo模块将传统Python实现的数小时计算压缩至分钟级,解决了量化交易中的性能瓶颈问题。文章详细解析了筹码峰计算原理、fengwo模块的技术架构及实战应用,助力量化开发者构建高效选股系统。

weixin_29062823的博客 438

数电实验,如何安装Quartus II软件?

数电实验第一步,安装软件Quartus II! 安装这个软件可以说是很折磨我了,依然是failed很多次之后终于可以了! 能成功安装,多亏了网络上的各路大神!!!不胜感激 现在分享经验如下: ps:我分享的是Quartus II 14.0版本的软件及破解器安装使用方法 注意!想要在电脑上顺利安装,前提条件是电脑有10G以上内存!!! 友情提示:建议整个下载过程中,提前关掉所有杀毒、电脑

一个程序媛的成长记录❤ 3652

android outofmemoryerror有效解决方法,android – 异常:OutOfMemoryError

我在Play商店发布了我的应用程序.现在在Crashes和ANR中,我在2个设备上遇到错误(Galaxy Note3和Galaxy Note II).我不知道如何解决这些错误,这是什么类型的错误?所以请帮我解决这些错误.在其他设备上,我没有收到任何报告.错误 –java.lang.OutOfMemoryErrorat android.graphics.BitmapFactory.nativeDec...

weixin_35899324的博客 510

【安全设备篇】HVV面试专题

还有就是这个可能是被访问的这个内网系统,本身业务系统存在业务逻辑问题,因为内网所布置的很多业务系统往往不会考虑一些安全性问题,比如在正常的业务逻辑请求中直接带了sql语句,就会触发设备规则产生告警,这一类是属于误报,然后会将此告警上报给研判人员,需要研判组专家和甲方客户确认下是否是该系统存在此业务逻辑问题,并且需要确认告警的源ip在此告警的时间段附近有没有进行操作过。天眼日志分析主要基于系统和应用程序的日志数据来识别安全威胁,而威胁感知则通过收集和分析多种来源的情报信息。理解威胁的性质和威胁背后的原理。

大河之犬的博客 7923

完美解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget

转自http://www.maxhis.info/androiding/bitmap-size-exceed/ 当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Optio

chen825919148的专栏 1090

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java.lang.OutOfMemoryError:bitmap size exceeds VM budget

Android系统会对bitmap内存空间有限制,一般上限为8M,因此在我们进行图片处理操作时,经常会遇到超过上限抛出异常: java.lang.OutOfMemoryError:bitmap size exceeds VM budget 这是 Bitmap bm = BitmapFactory.decodeFile(path)引起的,Path是sd卡中图片的路径,如果图片过大就会产生

啊迪 1162

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

http://milkmidi.blogspot.com/2012/01/javalangoutofmemoryerror-bitmap-size.html 最近在寫 Android 程式時, 一直發生 java.lang.OutOfMemoryError: bitmap size exceeds VM budget 這個問題 後來查了一下,才知道是圖檔太大,超過能使用的記憶體 但透過

670

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android java.lang.OutOfMemoryError: bitmap size exceeds VM budget

当图片过大,或图片数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget,要想正常使用则需分配更少的内存,具体的解决办法是修改采样值BitmapFactory.Options.inSampleSize,例如: BitmapFactory.Options opts = new B...

weixin_30416497的博客 69

(java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决)android中将网络图片转化为缩略图...

[转]java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法 最近在做电信的一个视频地图项目时,需要获取网络图片预览,用到图片缩略图技术,通过参考了很多同行的方法,本人写了以下获取网络图片缩略图的代码,如有不妥,望高手指正,谢谢。以下是实现方法:     获取缩略图关键代码     byte[] ima...

flycomos_lee的博客 125

java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法

在开发图片浏览器等软件是,很多时候要显示图片的缩略图,而一般情况下,我们要将图片按照固定大小取缩略图,一般取缩略图的方法是使用BitmapFactory的decodeFile方法,然后通过传递进去BitmapFactory.Option类型的参数进行取缩略图,在Option中,属

haoanbang的专栏 773

android:java.lang.OutOfMemoryError: bitmap size exceeds VM budget---缩略图

原出处:http://2711082222.blog.163.com/blog/static/10630224920123635918767/ 这一个没测试,想来必定能运行。分享和自己学习。 当图片过大,或数量较多时使用BitmapFactory解码图片会出java.lang.OutOfMemoryError: bitmap size exceeds VM budget android系统中

张恒zzh的专栏 767

java.lang.OutOfMemoryError:bitmap size exceeds VM budget 如何解决

Android系统会对bitmap内存空间有限制,一般上限为8M,因此在我们进行图片处理操作时,经常会遇到超过上限抛出异常: java.lang.OutOfMemoryError:bitmap size exceeds VM budget 这是 Bitmap bm = B

505
上一篇: 仅layout使用继承TextView,报java.lang.NullPointerException
下一篇: 使用bitmap缩略图,解决图片大小超过预算的VM的问题
DebugLog
博客等级 码龄15年 10粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值