Как увеличить размер стека для приложения Titanium для Android - PullRequest
2 голосов
/ 07 марта 2011

Я использую Titanium для создания своего приложения, и оно отлично работает на iPhone. Сегодня я впервые запустил его в эмуляторе Android, и он с треском провалился. Я копался в журнале ошибок и нашел это

[TRACE] E/TiJSError( 326): (kroll$1: app://app.js) [274,5815] ----- Titanium Javascript Runtime Error -----
[TRACE] E/TiJSError( 326): (kroll$1: app://app.js) [1,5816] - In file:///android_asset/Resources/app/models/base.js:107,0
[TRACE] E/TiJSError( 326): (kroll$1: app://app.js) [2,5818] - Message: Too deep recursion while parsing
[TRACE] E/TiJSError( 326): (kroll$1: app://app.js) [2,5820] - Source: null
[TRACE] E/KrollContext( 326): (kroll$1: app://app.js) [149,5969] Error: null
[TRACE] E/KrollContext( 326): java.lang.NullPointerException

Я провел небольшое исследование, и Дон Торп, один из ребят из Ti, ответил на похожий вопрос

Насколько большими являются файлы, которые вы используете. Это сложность источника это проблема, а не то, что источник делает. Это было адресовано в 1.5 и является приложением настраивается через настройку tiapp.xml увеличить размер стека. упрощение источника является лучшим подходом, но в некоторых случаях вам придется вверх по стеку. -

Но я нигде не нашел, как увеличить размер стека в tiapp.xml. Кто-нибудь знает эту недвижимость?

Спасибо!

1 Ответ

5 голосов
/ 07 марта 2011

После поиска в источнике titanium_mobile, в частности в файле TiApplication.java, я смог увеличить размер стека. По сути, добавьте эту строку в tiapp.xml где-нибудь между корневым узлом. С размером стека 32K приложение смогло проанализировать все сценарии.

<property name="ti.android.threadstacksize" type="int">32768</property>
...