数十亿用户的界面和内容

确保您的应用提供快速响应用户输入的交互式界面,并根据需要针对慢速启动补偿速度。通过适应语言之间的变化 - 虑及间距、密度、顺序、强调和措辞变化 - 确保您的应用采用便于进行本地化的设计。此外,还要确保将日期、时间及其他单位国际化,并按照手机设置进行显示。

响应快速而灵敏的界面

用户对应用性能的感知在很大程度上取决于应用的响应能力。例如,与用户交互和清晰的显示是高性能应用的两个重要特征。下文提供有关如何优化应用速度和响应能力各个方面的提示。

在所有可触摸项上提供触摸反馈

  • 触摸反馈可为用户界面增添一种触感。您应该确保应用在所有可触摸元素上都提供触摸反馈,以尽可能缩短感知的应用延迟时间。
  • 响应迅速的交互通过及时对用户输入作出符合逻辑并令人愉快的屏幕反应来鼓励用户对应用进行深入探索。响应迅速的交互将应用从信息提供服务提升至利用多种视觉和触觉响应进行沟通的体验层次。
  • 如需了解详细信息,请参阅有关定制触摸反馈的 Android 培训。

界面应始终具有交互性

  • 执行后台 Activity 时响应迟钝的应用会令人产生运行缓慢的感觉,并使用户满意度下降。确保您的应用界面在执行任何后台 Activity 时都能迅速响应。可通过在后台线程中执行网络操作或任何繁重负载操作(尽可能让界面线程保持空闲状态)来实现此目的。
  • Material Design 应用通过使用单一 Activity 指示器表示每项操作,在加载内容时只使用最少量的视觉变化。避免通过加载指示器屏蔽对话。
  • 当视图没有内容显示时,就会出现空态。它可能表现为列表中不包含任何项目,或者搜索未返回任何结果。使用前言内容、教育内容或最佳匹配内容可避免空态。当这些选项不适用时,系统会显示非交互式图像和文本标语,让用户了解在有内容显示时他们会看到的具体内容。
  • 如需了解详细信息,请参阅有关让您的应用保持迅速响应的 Android 培训。

以 60 帧/秒作为低成本设备上的目标

  • 确保您的应用始终快速而又顺畅地运行,即便是低成本设备也不例外。
  • 过度绘制会严重拖慢应用的运行速度 - 每一遍对像素进行多次绘制时就会发生这种情况。例如,图像上面放置有按钮就属于这种情况。尽管某些过度绘制不可避免,仍应尽量减少,以确保帧率平稳。对您的应用执行 GPU 过度绘制调试,以确保最大限度地减少过度绘制。
  • Android 设备按 60 帧/秒 (fps) 帧率刷新屏幕,这意味着您的应用需要在大约 16 毫秒内更新屏幕。利用设备内置工具分析您的应用,以确认您的应用是否以及在何时未达到该 16 毫秒平均值。
  • 在低成本设备上减少或取消动画,以降低设备 CPU 和 GPU 的负荷。如需了解详细信息,请参阅有关改善布局性能的 Android 培训。
  • 高效的视图层次可以加快您的应用速度,而不会增加应用的内存占用。如需了解详细信息,请参阅性能和视图层次

在应用启动速度缓慢时使用启动屏幕

  • 启动屏幕是用户对应用的第一体验。启动您的应用时显示空白画布会延长其感知加载时间,因此请考虑使用占位符界面或品牌启动屏幕来缩短感知加载时间。
  • 占位符界面是最无缝化的启动过渡方式,适用于应用启动和应用内 Activity 过渡。
  • 品牌启动屏幕可提供短暂的品牌曝光,从而解放界面,将注意力集中在内容上。
  • 如需了解有关实现启动画面的详细信息,请参阅 Material Design 规范的启动屏幕部分。
  • 解决启动速度缓慢问题的最佳方法是不启动这些应用。启动时间性能提供有助于缩短应用启动时间的信息。

界面最佳做法

  • Material Design 是一种视觉语言,将优良设计的经典原理与科学技术的创新和可能性有机结合。Material Design 可提供单一底层系统,让您能够在各类平台和各种尺寸的设备上获得统一的体验。请考虑使用关键 Material Design 组件,以便用户直观了解如何使用您的应用。
  • Material Design 支持库提供现成的 Material Design 组件。这些组件可在 Android 2.1(API 级别 7)及更高版本上获得支持。

本地化

  • 您的用户可能来自全球任何地方,使用的可能并非是您的母语。如果您推出的应用未采用用户能够读懂的语言,便会错失机会。因此,您应该针对重要的地区语言将应用本地化。
  • 如需了解更多信息,请访问有关支持不同语言的 Android 培训。
  • 从 Android 7.0(API 级别 24)开始,Android 框架提供部分 ICU4J API,这些 API 可帮助您将应用本地化为多种语言。有关详细信息,请参阅 ICU4J Android 框架 API