面向数十亿用户的 UI 和内容

确保您的应用提供响应用户输入的交互式 UI,并在必要时弥补缓慢的启动速度。确保您的应用设计易于本地化,以适应不同语言之间的差异:允许间距、密度、顺序、强调和措辞的变化。此外,请确保日期、时间和其他单位已国际化并根据手机设置显示。

快速响应的用户界面

用户对应用性能的感知很大程度上取决于应用的响应速度。例如,与用户的交互和清晰的显示是高性能应用的两个重要特征。在这里,您可以找到有关如何优化这些方面以及应用速度和响应速度的其他方面的提示。

所有可触摸项目的触摸反馈

  • 触摸反馈为用户界面增添了触觉感受。您应该确保您的应用在所有可触摸元素上提供触摸反馈,以尽可能减少感知到的应用延迟。
  • 响应式交互 通过为用户输入创建及时、逻辑且愉悦的屏幕反应,鼓励更深入地探索应用。响应式交互将应用从信息传递服务提升到使用多种视觉和触觉响应进行通信的体验。
  • 有关更多信息,请参阅有关 自定义触摸反馈 的 Android 培训。

UI 应始终具有交互性

  • 在执行后台活动时无响应的应用会感觉缓慢并降低用户满意度。确保您的应用始终具有响应式 UI,无论任何后台活动如何。通过在后台线程中执行网络操作或任何繁重的操作来实现这一点 - 使 UI 线程尽可能保持空闲状态。
  • Material Design 应用在加载内容时使用最少的视觉变化,通过单个活动指示器表示每个操作。避免使用 加载指示器 阻塞对话框。
  • 空状态 发生在视图没有内容要显示时。它可能是一个没有项目的列表或搜索结果为空。使用启动、教育或最佳匹配内容避免空状态。当这些选项不适用时,显示一个非交互式图像和一个文本标语,告诉用户在有内容要显示时会看到什么。
  • 有关更多信息,请参阅有关 保持应用响应 的 Android 培训。

在低成本设备上以每秒 60 帧的速度为目标

  • 确保您的应用始终快速流畅地运行,即使在低成本设备上也是如此。
  • 过度绘制会显著降低应用速度 - 它发生在像素在每次传递中被绘制多次时。例如,当您有一张图像,并在其顶部放置了一个按钮时。虽然某些过度绘制是不可避免的,但应将其降到最低以确保平滑的帧率。对您的应用执行 调试 GPU 过度绘制 以确保将其降到最低。
  • Android 设备以每秒 60 帧 (fps) 的速度刷新屏幕,这意味着您的应用必须在大约 16 毫秒内更新屏幕。使用设备上的工具 分析您的应用 以查看您的应用是否以及何时未达到此 16 毫秒的平均值。
  • 在低成本设备上减少或移除动画以减轻设备的 CPU 和 GPU 负担。有关更多信息,请参阅 改进布局性能
  • 高效的视图层次结构可以加快应用速度,而不会增加应用的内存占用。有关更多信息,请参阅 性能和视图层次结构。

在启动速度慢的应用上使用启动屏幕

  • 启动屏幕是用户对您的应用的首次体验。在启动应用时显示空白画布会增加用户对加载时间的感知,因此请考虑使用占位符 UI 或品牌启动屏幕以减少感知到的加载时间。
  • 一个 占位符 UI 是最无缝的启动过渡,适用于应用启动和应用内活动过渡。
  • 品牌启动屏幕 提供短暂的品牌曝光,使 UI 可以专注于内容。
  • 解决启动速度慢的最佳方法是避免出现启动速度慢的情况。 启动时间性能 提供了可能有助于加快应用启动速度的信息。

用户界面最佳实践

  • Material Design 是一种视觉语言,它将优秀设计的经典原则与技术和科学的创新和可能性相结合。Material Design 提供了一个单一的底层系统,允许跨平台和设备尺寸提供统一的体验。考虑使用关键的 Material Design 组件,以便用户直观地了解如何使用您的应用。
  • 现成的 Material Design 组件可在 Material Design Support 库 中找到。这些组件在 Android 2.1(API 级别 7)及更高版本中受支持。

本地化

  • 您的用户可能来自世界任何地方,他们的母语可能不是您的母语。如果您没有以用户可以阅读的语言呈现您的应用,那将是一个错失的机会。因此,您应该为关键区域语言本地化您的应用。
  • 要了解更多信息,请访问有关 支持不同语言 的 Android 培训,并查看 本地化清单
  • 从 Android 7.0(API 级别 24)开始,Android 框架提供了一部分 ICU4J API,这可以帮助您将应用本地化为多种语言。有关更多信息,请参阅 ICU4J Android 框架 API。

其他资源

要了解有关此主题的更多信息,请查看以下其他资源

其他主题

博文