android - 为什么 Google 在 Gmail 应用对话 ListView 中使用 Canvas?

标签 android performance listview android-canvas

我一直在使用 HierarchyViewer 检查 Android 中的 Gmail 应用程序,发现了一些有趣的东西,即电子邮件列表中的每个项目看起来都像 Canvas View - 我期待的是带有子组件的 RelativeLayout 之类的东西: Screenshot of Gmail conversation list in HierarchyViewer

虽然我最初是出于性能原因这样做的 - 每个项目一个 Canvas View 比每个项目的多个 View 要好得多,尤其是在看起来滚动非常流畅的长列表中。这听起来正确吗? Google 是否在其官方文档中的任何地方推荐了这种方法?这是其他人应该关注的性能方法吗?

最佳答案

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

关于android - 为什么 Google 在 Gmail 应用对话 ListView 中使用 Canvas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993025/

相关文章:

java - 安卓 Java "error: cannot find symbol variable action_refresh"

android - 改变 Android StackView 的角度

java - 什么启发式使用 TPL 来确定何时使用多核

javascript - 如何组织css和js文件的缩小和打包以加快网站速度?

android - ListView 具有延迟加载和下载图像功能

windows - 隐藏 ListView 中列之间的垂直线

android - 拍照并将完整图像上传到 Parse.com?

c# - 何时更改 Generate Serialization Assembly 值?

c# - ListView 选择项目背景颜色

android - 为什么 OptionMenu 在 4.0 中不显示图标菜单但在 2.x.x 中工作