Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。
见https://developer.android.google.cn/guide/components/activities.html
二丶管理生命周期
1.Activity基本上以三种状态存在:
继续:
位于屏幕前台并且具有用户焦点(running)
暂停:
可见但不可交互.例:被半透明activity覆盖
停止:
不可见,处于后台,被新的activity完全覆盖
2.根据以上图,我们可以知道整个生命周期可以大致分为3个循环嵌套:
-- 整个生命周期: 发生在onCreate()和onDestroy()之间.onCreate()进行全局的初始化,onDestroy()进行资源的释放.
-- 可见生命周期: onStart()和onStop()之间,此阶段,activity可见并且可与用户进行交互.例:新的activity启动并且此activitty不可见时,执行onStop()方法.
-- 前台生命周期: onResume()和onPause()之间,此阶段,activity位于栈顶,并且有用户输入焦点,可频繁的转入转出前台.
三丶实例
public class MainActivity extends AppCompatActivity { private final static String TAG = "wdl"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "onCreate: -------------------+创建"); } @Override protected void onRestart() { super.onRestart(); Log.d(TAG, "onRestart: ----------------------+重新"); } @Override protected void onStart() { super.onStart(); Log.d(TAG, "onStart: ---------------------------"); } @Override protected void onResume() { super.onResume(); Log.d(TAG, "onResume: --------------------------"); } @Override protected void onPause() { super.onPause(); Log.d(TAG, "onPause: ------------------------------"); } @Override protected void onStop() { super.onStop(); Log.d(TAG, "onStop: -------------------------------"); } @Override protected void onDestroy() { super.onDestroy(); Log.d(TAG, "onDestroy: ----------------------------"); } }
Test:
开启APP: onCreate()->onStart()->onResume()
点击Home键: onPause()->onStop()
重新开启上次的页面: onRestart()->onStart()->onResume()
结束APP: onPause()->onStop()->onDestroy()