我有一个使用Sencha Touch和phonegap开发的应用程序。有一次,它从服务器下载数据,一旦收到成功的响应,它就会显示下一个屏幕。我发现,当它作为iOS应用程序捆绑时,它会转换到下一个屏幕,但不显示任何内容,报告内存不足。所以我简化了下一个屏幕的布局(DOM结构非常复杂),它现在可以在iOS模拟器和我的iPhone上运行。
然而,在Android中,我可以从我的console.log语句的输出中看到它成功检索数据并触发事件以显示下一个屏幕。然后它在显示该屏幕之前就已经存在了很长时间,即使我的console.log语句显示该屏幕的“绘制”事件已被触发。
最终,屏幕会显示,但屏幕上的所有控件都无法触摸。我是否可能需要进一步简化该屏幕的结构?由于iOS版本在我简化页面结构之前收到了低内存警告,我怀疑Android版本可能有类似的问题,但我不知道如何监视内存使用情况。在Android版本中,在屏幕最终显示之前不久,我在logcat中看到以下内容:
UpdateFrameCache: pending style recalc, ignoring
在没有反应的屏幕上,当我点击一些(但不是全部)无响应的控件时,我看到:
Got ACTION_DOWN but still waiting on stale event. Catching up.
最终,该应用程序将自行关闭:
Fatal signal 11 (SIGSEGV) at 0xbbbadbeef (code = 1)
感激不尽的任何帮助。