我有兩個用Ruby編寫的不同項目,使用Ruboto將Ruby打包成一個.apk文件,以便將它推送到Android設備上。這兩個項目都可以在我的手機和手機模擬器上編譯和運行,但是在兩個項目中都添加了'require'json''行,不會改變任何內容,導致它們在啓動時失敗並將我踢回到手機主頁。所以這絕對是一條線。任何想法可能會導致這種情況?在Ruboto項目中使用JSON
0
A
回答
1
我有同樣的問題;您可以使用
adb logcat
以獲取有關故障的更多信息。如果你看那裏,你會發現關於堆棧溢出的錯誤消息。您可以通過只需要JSON /純繞過這個堆棧溢出:
require 'json/pure'
這仍然沒有與一般的問題有所幫助:最需要調用導致堆棧溢出。通過谷歌,我發現Android不能有太多的嵌套遞歸調用,只有大約22個,直到它崩潰,堆棧溢出。我指出的解決方案是使用迭代,而不是遞歸。 :)
所以現在,我知道沒有真正的解決方案。大多數大或有用的寶石導致相同的問題,例如yaml,httpi或nokogiri。
編輯: 在Google郵件列表中有類似的問題。
2
Ruboto提供了一個輔助方法來運行增加堆棧大小代碼:
require 'ruboto/util/stack'
with_large_stack{require 'json'}
或
with_large_stack do
require 'json'
end
這將提供更大的堆棧允許深遞歸運行在一個單獨的線程代碼。 with_large_stack方法的默認堆棧大小爲64KB。
with_large_stack(128){require 'json'}
或
with_large_stack(:size => 128){require 'json'}
堆棧大小以千字節(KB)給出:可以使用一個可選整數參數或選項散列設置該值。
相關問題
- 1. 安裝ruboto
- 2. 在JSON中合併項目
- 3. 使用Ruboto停止Android上的進程
- 4. 在項目中使用項目?
- 5. 項目結構在spring中使用jquery ajax在eclipse中使用json數據
- 6. 在項目中使用包
- 7. 在項目中使用jsSIP
- 8. 在項目中使用FFmpeg
- 9. 使用AngularJS從JSON檢索項目
- 10. 在Schema.org中使用多個相同類型的項目JSON-LD
- 11. JSON模式 - 在項目數組中使用oneOf
- 12. 如何在c#項目中使用Json metro apps
- 13. 我應該在Rails 3.1項目中使用哪些JSON寶石?
- 14. 在Android中使用MySql項目將JSON轉換爲字符串
- 15. 如何更改Android上運行的ruboto中的目錄
- 16. SignalR項目中的Json引用衝突
- 17. 使用php從json結果中提取項目(項目顯示不止一次)
- 18. 在NSMutableArray中過濾JSON項目
- 19. 在項目中處理JSON響應
- 20. 刪除嵌套在JSON中的項目
- 21. 在JSON數組中找不到項目
- 22. Android應用程序開發SL4A vs Ruboto
- 23. 訪問Ruboto中的/ res/drawable文件夾
- 24. 如何在子項目中使用主項目中的標題?
- 25. 在Rails項目中使用ruby中的particle.js項目
- 26. 使用jquery創建json數組和json項目?
- 27. 在項目中使用C#中的usercontrol
- 28. 在JSF項目中引用JPA項目
- 29. 使用leiningen訪問clojure項目目錄之外的JSON文件
- 30. 使用項目中單獨模塊的javaType的JSON模式
如果郵件列表上有類似的問題,請鏈接到它。 –