Android应用对触摸无响应

时间:2013-03-10 16:05:03

标签: android cordova extjs touch

我有一个使用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)

感激不尽的任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您在UI线程中执行密集计算,它可能会解释为什么需要这么长时间。 如果您要进行一些backgorund计算,请尝试使用AsyncTaskService。完成后,更新UI线程中的界面。

Gordak