返回

Activity 必知必会

Android

Activity 必知必会

现代化的 Android 开发离不开 Activity,它是 Android 中用来承载用户界面的基本组件。它管理着整个应用的生命周期,展示与用户交互的 UI 元素,并协调各种任务。

Activity 的生命周期

Activity 的生命周期反映了它的创建、运行和销毁的不同阶段。理解这些阶段对于构建健壮、响应良好的应用程序至关重要。

阶段 回调方法
onCreate 创建 Activity,初始化布局和组件。 onCreate(Bundle)
onStart Activity 可见,开始与用户交互。 onStart()
onResume Activity 处于活动状态,可以与用户进行全面交互。 onResume()
onPause Activity 失去焦点,但仍然可见。 onPause()
onStop Activity 不再可见,但仍存在于内存中。 onStop()
onDestroy Activity 被销毁,释放其资源。 onDestroy()
onRestart Activity 被重新启动,再次可见。 onRestart()
onNewIntent Activity 接收一个新的意图,通常用于在屏幕上显示更新的内容。 onNewIntent(Intent)
onSaveInstanceState 在系统因内存不足而可能销毁 Activity 时调用,用于保存重要数据。 onSaveInstanceState(Bundle)

Activity 之间的跳转

Android 应用程序中的 Activity 可以相互跳转,允许用户在不同的界面之间导航。跳转可以通过以下方式实现:

  • Intent: Intent 是一个消息对象,用于启动或传递数据到其他 Activity。
  • startActivity() 和 finish() 方法: startActivity() 方法启动一个新 Activity,而 finish() 方法关闭当前 Activity。
  • Task 和 Back Stack: Android 应用程序通常由多个 Activity 组成,它们被组织成任务。Back Stack 是一个用于管理 Activity 返回历史的堆栈。

Activity 的最佳实践

  • 避免内存泄漏: 正确释放资源,防止 Activity 持有对长期存在的对象(如 Activity 上下文)的引用。
  • 优化性能: 使用视图层次结构优化技巧,如减少嵌套和避免过多的绘制调用,以提高 UI 响应速度。
  • 处理生命周期事件: 正确覆盖生命周期方法,确保在适当的时刻执行适当的任务(例如,在 onPause() 中保存数据,在 onResume() 中恢复数据)。
  • 避免意外销毁: 使用 onSaveInstanceState()onRestoreInstanceState() 方法处理 Activity 意外销毁,例如内存不足。

结论

掌握 Activity 的概念对于构建健壮、用户友好的 Android 应用程序至关重要。理解其生命周期、跳转机制和最佳实践,开发人员可以创建直观、响应迅速且高效的界面。