我的Android应用程序包含两个屏幕:“登录”和“仪表板”。 登录工作正常,但仪表板是麻烦制造者。
在登录屏幕上,我可以打开调试菜单,一切都按预期工作。当我切换到仪表板屏幕时,我无法再打开菜单。如果我在“登录”屏幕中启用了检查器,然后转到“仪表板”屏幕,则检查器将消失。
当我在没有附加调试器的情况下运行应用程序时,我在仪表板中没有数据,但登录工作正常。
当我附加调试器时,App会“卡住”很多。 通过单击屏幕(附带调试器),当它“卡住”时,App类向前移动一步 - 当我经常点击屏幕时,我最终得到了我期待的所有数据! 没有设置断点,我根本不需要使用调试器,只需附加它。
iOS对手似乎工作得很好。
这里可能有什么问题?
我正在使用React-Native 0.31.0
只是为了澄清:我的问题本身不是调试器。我的问题是这样的事实,即在没有调试器的情况下我没有数据,但是在连接调试器时获取所有数据(仅限Android!)。
答案 0 :(得分:0)
我相信已经弄明白问题的核心是什么。
调试React-Native App时,Chrome会“运行”代码,支持更多javascript。 (我发现很难找到合适的词语......)
在iOS模拟器和设备上,Android模拟器和设备React Native使用JavaScriptCore,它是支持JavaScript的引擎 苹果浏览器。在iOS上,由于缺少可写
,JSC不使用JIT iOS应用程序中的可执行内存。 使用Chrome调试时,它会运行其中的所有JavaScript代码 Chrome本身并通过WebSocket与本机代码进行通信。那么你 正在使用V8
在我的例子中,有些函数使用for of
循环或array.some
语法。
我不确定,现在支持什么,所以你(遇到过这个问题的人)可能想要更新你的react-native版本。