2011-03-07 108 views
2

我正在使用Titanium生成我的應用程序,並且它在iPhone上效果很好。今天是我第一次在Android模擬器中運行它,它失敗了。我挖成錯誤日誌,發現這個如何增加Titanium 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的球員之一,回答到similar question

多大,你正在使用的文件。 這是源的複雜性 這就是問題所在,而不是源所做的。這是在1.5中解決的 ,並且是通過tiapp.xml設置 可配置的應用程序 以調高堆棧大小。簡化 的源是最好的辦法, 但在某些情況下,你將不得不 堆棧。 -

但我還沒有找到任何地方如何增加tiapp.xml中的堆棧大小。有誰知道這個屬性?

謝謝!

回答

5

在深入挖掘titanium_mobile源文件後,特別是TiApplication.java文件,我能夠增加堆棧大小。基本上將這一行添加到根節點之間的任何地方tiapp.xml。隨着32K堆棧大小的應用程序能夠解析所有的腳本。

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