每隔一段时间(并且没有明显的复制步骤),设备就会进入屏幕完全卡住的状态。我所说的“抓住”是指绝对不会吸引任何东西。这种行为很像我们在主线程上进行了阻塞调用,但我已经能够在调试器上捕获该行为并确认这不是问题(更不用说我们没有收到来自安卓)。
更令人困惑的是,当我与屏幕交互时,我注意到应用程序通过我们的日志语句正常运行。因此,当我做出滚动手势时,我能够看到我们正在膨胀视图、进行适当的网络调用等等。该应用程序功能齐全,但屏幕未绘制任何内容。
在 Eclipse 中使用 UI XML 快照工具甚至可以显示应该出现在屏幕上的视图(尽管绘制的图像仍然是冻结的“屏幕截图”)。
我会注意到我们最近引入了动画,特别是使用 Nineoldandroids 项目来帮助我们向后移植一些功能。这个问题似乎出现在所有手机上(包括我的 4.2.2 Galaxy Nexus),但是,再一次,复制很困难。
我们完全无法解释这种行为,并希望能深入了解导致此问题的原因和/或如何解决此问题!
编辑:今天经过大量测试,似乎没有在任何视图上调用 draw(...) 。这可以解释为什么屏幕被“冻结”。Measure被调用(这解释了为什么 UI XML 快照正确地显示了屏幕上应该显示的内容)。