基于最近阅读《Android开发艺术探索》一书,特借此书写形式来梳理学到的知识点和自我表达能力的提升。
Activity 简介
Activity 是一个 android 应用程序组件,也是 android 四大组件之一。主要是用户和应用程序之间进行交互的一个接口,在一个 Android 应用程序中,一个 activity 通常就是一个屏幕,用户通过这个屏幕用来与应用程序交互来完成某项任务。
Activity 的生命周期
下面将 Activity 的生命周期分为两部分,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。
一、典型情况下的生命周期分析
一般来说,在正常情况下,Activity 会经历以下 7 个生命周期。
- onCreate: 表示 Activity 正在被创建, 是生命周期的第一个方法.。这个方法的作用是做一些初始化工作,比如在这里使用 setContentView 加载页面布局资源,做一些控件和变量的初始化工作和所需数据等。
- onRestart: 表示 Activity 正在重新重启。一般情况下,当前 Activity 从不可见重新变为可见状态时,都会调用这个方法。这种情形一般都是用户的行为导致的,比如用户按下 Home 键或者打开了一个新的 Activity,当前的 Activity 就会暂停,也就是 onPause 和 onStop 被执行了,接下来用户又回到了这个 Activity,这个方法就会被调用。一般情况下,这个方法我们不做任务操作。
- onStart : 表示 Activity 正在被启动,这个时候 activity 已经可见,但是还没到前台,用户还无法进行交互。在这里也可以做一些初始化工作,但官方推荐在 OnCreate 中做。
- onResume: 表示 Activity 已经可见了,并且已经出现在前台可以进行交互活动了 。
- onPause: 表示 Activity 正在停止,正常情况下,紧接着,onStop 方法就会被调用。在特殊情况下,如果这个时候快速回到当前 Activity,那么 onResume 方法就会被调用。这个时候 我们可以做一些数据存储、动画停止等工作,但是不能太耗时。因为在跳转 Activity 时只有当一个 Acti