今天打包程序时,由于程序较大,eclipse一开始报Unable to execute dex: GC overhead limit exceeded或后来又报ava heap space,这两个异常意思基本一样,都是内存不够用的情况,后来从网上搜索了一下,转载原文如下:据说是因为升级了ADT缘故(好像是Android小组的回复),将最新的ADT换回之前的,或者使用Android小组(?)说的Fix了的版本就可以了(这一点我没有试验)。
其实,继续使用ADT14也是可以的,这需要修改Eclipse的配置文件,也就是网上很多人说的那样,修改Eclipse安装目录下eclipse.ini文件:
1)在文件开头添加
-vm
D:\Program Files\Java\jre6\bin\javaw.exe
其中,D:\Program Files\Java\jre6是本人机器上JRE的路径,需要根据实际情况修改
2)搜索–launcher.XXMaxPermSize,将其下一行的
256m
改为
512m
其中,红色标出的部分可能不同的Eclipse版本,数字(256)不同。
3)搜索-vmargs
-vmargs
-Xms40m
-Xmx384m
将
-Xms40m
-Xmx384m
改为
-Xms512m
-Xmx1024m
并在其后加上
-XX:MaxPermSize=256m
同上,可能不同版本的Eclipse,红色标出的部分,数字(40和384)会不同。
然后重启Eclipse,编译出错的工程即可。
网上有人说这样不行,不知道是不是因为原文作者没有详细的描述怎么修改,因为在我机器上解决了这个问题^_^