确保您的应用提供快速响应用户输入的交互式 UI,并在必要时弥补启动速度慢的问题。确保您的应用易于本地化,能够适应不同语言之间的差异:考虑留白、密度、顺序、强调和措辞变化。此外,确保日期、时间和单位等内容已进行国际化,并根据手机设置显示。
快速响应的用户界面
用户对应用性能的感知很大程度上取决于应用的响应能力。例如,与用户的互动和清晰的显示是高性能应用的两个重要特征。您可以在这里找到有关如何优化这些方面以及应用速度和响应能力的其他方面的技巧。
所有可触控项的触控反馈
- 触控反馈为用户界面增加了触感。您应该确保您的应用为所有可触控元素提供触控反馈,以尽可能减少感知到的应用延迟。
- 响应式交互 通过对用户输入创建及时、符合逻辑且令人愉悦的屏幕反应,鼓励用户更深入地探索应用。响应式交互将应用从信息传递服务提升为一种利用多种视觉和触觉反馈进行沟通的体验。
- 如需了解详情,请参阅有关 自定义触控反馈 的 Android 培训。
UI 应始终具有交互性
- 应用在执行后台活动时不响应,会让人感觉很慢,并降低用户满意度。确保您的应用无论进行何种后台活动,UI 始终具有响应性。通过在后台线程中执行网络操作或任何繁重操作来实现此目标 — 尽可能让 UI 线程保持空闲。
- Material Design 应用在加载内容时使用最少的视觉变化,通过单个 activity 指示器来表示每个操作。避免使用 加载指示器 来阻止对话框。
- 空状态 在视图没有内容可显示时发生。这可能是一个没有项目的列表,或者一个没有返回结果的搜索。通过使用入门内容、教育内容或最佳匹配内容来避免空状态。当这些选项不适用时,显示一张非交互式图片和一段文字标语,告诉用户当有内容时他们将看到什么。
- 如需了解详情,请参阅有关 保持应用响应能力 的 Android 培训。
在低成本设备上实现每秒 60 帧
- 确保您的应用始终快速流畅运行,即使在低成本设备上也是如此。
- 重绘会显著降低您的应用速度——它发生在每遍绘制中像素被多次绘制时。例如,您有一个图片,上面放置了一个按钮。虽然某些重绘不可避免,但应将其最小化以确保流畅的帧率。对您的应用执行 调试 GPU 重绘 以确保其最小化。
- Android 设备以每秒 60 帧 (fps) 的速率刷新屏幕,这意味着您的应用必须在大约 16 毫秒内更新屏幕。利用设备端工具分析您的应用,查看应用是否以及何时未能达到这个 16 毫秒的平均值。
- 在低成本设备上减少或移除动画,以减轻设备 CPU 和 GPU 的负担。如需了解详情,请参阅 提高布局性能。
- 高效的视图层级结构可以在不增加应用内存占用量的情况下加快应用速度。如需了解详情,请参阅 性能和视图层级结构。
启动速度慢的应用使用启动屏幕
- 启动屏幕是用户对应用的第一次体验。在应用启动时显示空白画布会增加用户对其加载时间的感知,因此考虑使用占位符 UI 或品牌启动屏幕来减少感知的加载时间。
- A 占位符 UI 是最无缝的启动过渡,适用于应用启动和应用内 activity 过渡。
- 品牌启动屏幕 提供短暂的品牌曝光,使 UI 能够专注于内容。
- 处理启动速度慢的最佳方法是避免其发生。启动时间性能 提供的信息可能会帮助您加快应用的启动时间。
用户界面最佳实践
- Material Design 是一种视觉语言,它综合了良好设计的经典原则与技术和科学的创新及可能性。Material Design 提供了一个单一的基础系统,可在各种平台和设备尺寸上实现统一的体验。考虑使用关键的 Material Design 组件,以便用户能够直观地了解如何使用您的应用。
- 在 Material Design Support 库 中提供了随时可用的 Material Design 组件。这些组件在 Android 2.1 (API level 7) 及更高版本中受支持。
本地化
- 您的用户可能来自世界各地,他们的第一语言可能与您的不同。如果您没有以用户能够阅读的语言呈现您的应用,那将是一个错失的机会。因此,您应该为主要的区域语言对您的应用进行本地化。
- 要了解更多信息,请访问有关 支持不同语言 的 Android 培训,并查看 本地化清单。
- 从 Android 7.0 (API level 24) 开始,Android 框架提供了 ICU4J API 的一个子集,这可以帮助您将应用本地化为多种语言。如需了解更多信息,请参阅 ICU4J Android Framework API。
其他资源
要详细了解此主题,请查看以下其他资源