Пакет Adobe Flash для iOS выдает ошибку java.lang.OutOfMemoryError при упаковке больших проектов - PullRequest
7 голосов
/ 20 июля 2011

Я портировал кодовую базу Flex 4 на iOS с помощью Adobe Packager, но натолкнулся на препятствие при попытке упаковать всю нашу кодовую базу.Упаковщик работает некоторое время, а затем выдает ошибку OutOfMemoryError - даже если я увеличу размер кучи Java до 4 ГБ.

Кажется, что ни один кусок кода не вызывает проблему, так как он успешно компилируется, если я вырезал большие куски кода, и я могу изменить, какие куски я пропускаю.Это может быть связано с размером самого кода.

Я зарегистрировал очень подробный отчет об ошибке с Adobe здесь: http://bugs.adobe.com/jira/browse/FB-32192.Он включает в себя файл AIRI, который можно упаковать, чтобы воспроизвести проблему, сценарий ruby, который генерирует код actioncript для генерации этого файла AIRI, и сводку всего, что я пробовал до регистрации ошибки.

Есть кто-нибудьеще пробовал компилировать большие проекты с помощью упаковщика iOS?Есть какие-нибудь известные обходные пути?

Ответы [ 3 ]

1 голос
/ 26 апреля 2012

попробуйте использовать x64 Java Runtime.Это решило аналогичную проблему для меня - проект был успешно упакован с использованием только среды выполнения x64 Java, процесс x86 Java не мог выделить столько ОЗУ, сколько ему было нужно для упаковки моего проекта даже при увеличенных размерах кучи.

0 голосов
/ 09 сентября 2011

Попробуйте использовать Ant для управления процессом, описанным здесь , а затем настройте параметры java в ant следующим образом:

fork="true"
maxmemory="256m"
0 голосов
/ 03 августа 2011

Вы ничего не можете с этим поделать, это известная проблема Adobe Packager.Единственное, что я хотел бы сделать, это попытаться установить очень большой размер минимальной кучи или, возможно, сделать что-нибудь сумасшедшее, например запустить его с помощью jdb (даже если нет символов отладки ...).

...