我已经为 Android 构建了六个月,但我仍然对 UI 中发生的事情感到困惑。当我学习 iOS 编程时,书籍和文档非常清楚发生了什么:例如,视图更改和动画直到通过运行循环的下一次迭代才生效。这种理解对于调试 UI 故障至关重要,如果没有它,我将无法在我们的 Android 应用程序 ( http://emu.is/download/ ) 中跟踪内容。
例如:
- 我们有一种情况,按下按钮会弹出一个片段,并且还会显示一个动画作为按钮单击的反馈。我在拉入片段之前开始了动画,但直到片段出现后它才真正运行。为什么?
- 通常,打开一个新的 Activity 需要很长时间,在此期间用户没有很好的反馈表明正在发生任何事情。我很想为 Activity 拉出一个最小的容器,然后加载它的内容,这样用户就知道发生了什么。我怎么做?
- 有时我们的聊天气泡(通过自定义 Drawable 以编程方式绘制)会闪烁一点,看起来它们在绘制过程的中途被渲染。为什么?我该如何避免呢?
等等。基本上,我想尽可能多地了解在 Android UI 中会发生什么——不仅仅是有据可查的生命周期内容,还有各种 UI 调用之间的关系以及屏幕上实际发生的时间/方式。谢谢。