解决 out of Memory 异常

本文探讨了Android应用中出现内存溢出(outofMemory)的问题,尤其是在使用大量图片时。通过对不同设备和系统的测试,分析了内存分配差异,并提供了解决方案,包括调整AndroidManifest.xml中的配置来增加内存分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近做项目过程中,项目UI界面使用了大量的图片。运行过程中程序随机概率的抛出out of Memory 异常。开始以为是程序问题,但是仔细检查程序,就那几行基本的代码,没问题的,就郁闷了。使用note1手机测试(配置不算低)会这样,又使用其他手机测试,不会出错。于是以为是手机系统问题,果断刷了机,结果还是一样。最后几经折腾,终于找到真理了。原来不同机型的管理内存是不一样的。界面UI和后台在内存分配上是分开的。进过测试发现 ,就三星而言。更注重界面的流畅,UI内存的回收总是比较迟缓,程序中通过使用 finish();来处理栈里的activity。结果这个过程总是有延迟。

        原来不同系统的对当前acticity分配的内存是不一样的,一般的系统分配当前activity内存是:16M、24M、32M,所以手机内存足够大了,还是会出现内存不够用的情况。最后想到手动来增加系统分配给应用程序的内存,虽然这是治标不治本,但是暂时还是可以解决这问题的。

在AndroidManifest.xml     的application加上

android:largeHeap="true"
android:hardwareAccelerated="true"

两行代码,把系统分配给手机的内存增大了,可以暂时解决out of Memory问题,但是这不是根本解决方案,最主要还是要在程序中处理好资源的回收。管理好内存。特别是在加载图片的时候一定要记得释放资源。

 

我是一只小小菜。。。。多多交流

转载于:https://www.cnblogs.com/JackChao/p/3234225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值