我有一个用 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)
感激地收到任何帮助。