解决 out of Memory 异常

       最近做项目过程中,项目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问题,但是这不是根本解决方案,最主要还是要在程序中处理好资源的回收。管理好内存。特别是在加载图片的时候一定要记得释放资源。

 

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

posted on 2013-08-03 09:49  just__chao  阅读(454)  评论(0编辑  收藏  举报

导航