编译Appcelerator Android app时如何解决java.lang.OutOfMemoryError?
How to solve java.lang.OutOfMemoryError when compiling Appcelerator Android app?
我尝试使用 Appcelerator 编译 apk,但出现此错误。如何解决。
目前我正在使用 Titanium sdk:5.2.0.GA
>Error:
>ERROR : Failed to run dexer:
>ERROR : UNEXPECTED TOP-LEVEL ERROR:
>ERROR : java.lang.OutOfMemoryError: Java heap space
其他错误
[ERROR] : Failed to run dexer:
[ERROR] :
[ERROR] : UNEXPECTED TOP-LEVEL ERROR:
[ERROR] : java.lang.OutOfMemoryError: Java heap space
[ERROR] : at java.util.Arrays.copyOf(Arrays.java:2271)
[ERROR] : at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191)
[ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:279)
[ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[ERROR] : at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[ERROR] : at com.android.dx.command.dexer.Main.processOne(Main.java:672)
[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
[ERROR] : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
[ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:277)
[ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245)
[ERROR] : at com.android.dx.command.Main.main(Main.java:106)
大家好,
我从 link 得到解决方案,代码是:
<property name="android.javac.maxmemory" type="string">1024M</property>
<property name="android.dx.maxmemory" type="string">2048M</property>
谢谢
您的代码有问题。并且设置更大的 maxmemory
或较大的堆大小不是正确的解决方法。此类解决方案不适用于所有设备和 Android 版本。您正在 请求 更多内存,但没有什么需要 OS 将其授予您的应用程序。
您有一个 memory leak 或者您只是不必要地使用内存以低效的方式创建对象。重新检查您的应用程序的结构以对其进行优化,而不是使用清单设置对其进行创可贴。
在为 android 构建时,Appcelerator 无法处理太多 javascript 文件。
我有 128 个控制器和 188 个视图文件。我删除了所有未使用的文件。现在我有 35 个控制器和 56 个视图文件,这在 android.
上成功构建
我尝试使用 Appcelerator 编译 apk,但出现此错误。如何解决。
目前我正在使用 Titanium sdk:5.2.0.GA
>Error:
>ERROR : Failed to run dexer:
>ERROR : UNEXPECTED TOP-LEVEL ERROR:
>ERROR : java.lang.OutOfMemoryError: Java heap space
其他错误
[ERROR] : Failed to run dexer: [ERROR] :
[ERROR] : UNEXPECTED TOP-LEVEL ERROR: [ERROR] : java.lang.OutOfMemoryError: Java heap space [ERROR] : at java.util.Arrays.copyOf(Arrays.java:2271) [ERROR] : at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:279) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) [ERROR] : at com.android.dx.command.dexer.Main.processOne(Main.java:672) [ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574) [ERROR] : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) [ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:277) [ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245) [ERROR] : at com.android.dx.command.Main.main(Main.java:106)
大家好, 我从 link 得到解决方案,代码是:
<property name="android.javac.maxmemory" type="string">1024M</property> <property name="android.dx.maxmemory" type="string">2048M</property>
谢谢
您的代码有问题。并且设置更大的 maxmemory
或较大的堆大小不是正确的解决方法。此类解决方案不适用于所有设备和 Android 版本。您正在 请求 更多内存,但没有什么需要 OS 将其授予您的应用程序。
您有一个 memory leak 或者您只是不必要地使用内存以低效的方式创建对象。重新检查您的应用程序的结构以对其进行优化,而不是使用清单设置对其进行创可贴。
在为 android 构建时,Appcelerator 无法处理太多 javascript 文件。
我有 128 个控制器和 188 个视图文件。我删除了所有未使用的文件。现在我有 35 个控制器和 56 个视图文件,这在 android.
上成功构建