Activity Lifecycle

来源:互联网 发布:取色笔 淘宝 编辑:程序博客网 时间:2024/04/29 00:05

备注:Android系统版本5.1.1

Activity是一个可视化的用户界面,是Android程序与用户交互的窗口,能响应所有窗口事件,具备有控件,菜单等界面元素。Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。

代码片段:public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Log.i("lifecycle","onCreate");    }    @Override    protected void onStart() {        super.onStart();        Log.i("lifecycle","onStart");    }    @Override    protected void onResume() {        super.onResume();        Log.i("lifecycle","onResume");    }    @Override    protected void onPause() {        super.onPause();        Log.i("lifecycle","onPause");    }    @Override    protected void onStop() {        super.onStop();        Log.i("lifecycle","onStop");    }    @Override    protected void onDestroy() {        super.onDestroy();        Log.i("lifecycle","onDestroy");    }    @Override    protected void onRestart() {        super.onRestart();        Log.i("lifecycle","onRestart");    }}

结果分析:

  1. 启动app
    09-18 21:26:31.984 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onCreate
    09-18 21:26:31.984 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onStart
    09-18 21:26:31.994 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onResume
  2. 点击home
    09-18 21:27:25.294 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onPause
    09-18 21:27:25.554 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onStop
  3. 在任务栏重新打开app
    09-18 21:28:04.484 4377-5627/? D/LifecycleResourceManager: begin check cache…
    09-18 21:28:05.284 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onRestart
    09-18 21:28:05.294 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onStart
    09-18 21:28:05.294 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onResume
  4. 点击back
    09-18 21:28:36.804 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onPause
    09-18 21:28:37.074 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onStop
    09-18 21:28:37.074 30822-30822/servicedemo.example.com.myapplication I/lifecycle: onDestroy
0 0