为什么Google会在Gmail应用对话列表视图中使用Canvas?

Mar*_*tyn 9 performance android listview android-canvas

我一直在检查使用HierarchyViewer在Android的Gmail应用程序中,发现一些有趣的事情在于,在邮件列表中每个项目看起来像一个画布视图 - 我期待的东西像孩子组件的RelativeLayout: HierarchyViewer中Gmail对话列表的屏幕截图

我最初的原因是它出于性能原因这样做 - 每个项目的一个画布视图比每个项目的多个视图要好得多,特别是在一个似乎滚动非常顺畅的长列表中.这听起来不错吗?Google是否会在其官方文档中的任何位置推荐此方法?这是其他人应该关注性能的方法吗?

hac*_*bod 4

是的,视图越少,用户界面就越高效。如果您有一个视觉上复杂的 UI 元素,将其实现为自定义视图或布局比尝试组合单个视图会更有效。