在android程序中java.lang.OutOfMemoryError如何解决

来源:互联网 发布:淘宝qq群推广号 编辑:程序博客网 时间:2024/04/28 08:01
一般android的内存比较大,如果出现,证明:1。 代码质量问题,代码中有易造成内存泄露的代码。2。 Android的栈空间的确不大, 避免过多次数调用递归。 如果递归过多又无法避免递归, 请在递归函数体内少生成使用局部变量,临时变量。先检查第2点,如果没有第2点的情况就好好看看第1点是不是有问题。楼主的问题我也曾出现过。 原因是解析一个 120K的xml文件时,我采用dom解析我的对象, 递归方式, 每次节点都生成一堆临时变量,导致内存溢出或者修改eclipse.ini配置文件
在eclipse.ini配置文件中加上以下两行 -XX:PermSize=128M -XX:MaxPermSize=128M 加上上2行后,我的eclipse.ini文件如下所示: -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m -vmargs -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=128M 这里的内存大小根据自己的物理内存情况来决定吧。