Android随笔-Activity

       作为一个即将面世的 程序媛 ,对于前途一无所知,只有努力地去面对,才不会显得那么费劲。个人对于自己所学的知识,做了一些简单的总结,方便面试前的复习。

Android随笔-Activity_第1张图片
我可是要成为攻城狮的女人!

先来看看Activity生命周期状态转换图

Android随笔-Activity_第2张图片

1、Activuty的三大状态和七大生命周期方法分析

/**

* Activuty的三大状态和七大生命周期方法分析

*/

public class MainActivity extends Activity {

/**

* Activity创建时第一个调用的方法,通常我们在该方法中加载布局文件,初始化UI组件,时间注册等等

*/

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

System.out.println("MainActivity_onCreate");

}

/**

* 在onCreate方法之后调用,用于显示界面,但用户还不能进行交互

*/

@Override

protected void onStart() {

super.onStart();

System.out.println("MainActivity_onStart");

}

/**

*当一个stopped状态的Activity被返回时调用,之后再调用onResume()方法进入运行状态

*/

@Override

protected void onRestart() {

super.onRestart();

System.out.println("MainActivity_onRestart");

}

/**

* 在onStart方法后调用,该方法执行完成后,用户可进行交互,当前Activity进入resumed状态

* 当一个paused状态的activity呗重新返回时,会再次调用该方法,让activity进入运行状态

*/

@Override

protected void onResume() {

super.onResume();

System.out.println("MainActivity_onResume");

}

/**

* 当其他Activity(透明或窗口模式)进入时,该方法会被调用,让当前Activity进入paused状态(暂停状态)

* 当前Activity还可见但不能交互,如果其他更高优先级的APP需要内存时,当前Activity可能会被销毁(kill)

* 当前Activity被返回时会调用onResume()方法

*/

@Override

protected void onPause() {

super.onPause();

System.out.println("MainActivity_onPause");

}

/**

* 当其他Activity完全覆盖该Activity时,会被调用,当前Activity进入stopped状态(停止状态)

* 不可见,如果其他更高优先级的APP需要内存时,当前Activity可能会被销毁(kill)

* 当前Activity被返回时会调用onRestart()方法

*/

@Override

protected void onStop() {

super.onStop();

System.out.println("MainActivity_onStop");

}

/**

* 当前Activity被销毁时调用,通常在该方法中用来释放资源,当前Activity kiiled。

*/

@Override

protected void onDestroy() {

super.onDestroy();

System.out.println("MainActivity_onDestroy");

}

}


2、Activity的四大启动模式简述

Activity是Android的四大组件之一,在Android系统中是通过栈的方式对多个Activity进行管理。

启动方式决定了Android系统在启动一个Activity时,对栈该进行什么样的操作。

Android随笔-Activity_第3张图片
四种启动模式

补充四大启动模式的使用场景:

Standard:大多数Activty。

SingleTop:如新闻类或者阅读类APP的内容内面。

SingleTask:如浏览器的主页面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会做onNewIntent,并且会清空主界面上面的其他页面。

SingleInstance:如闹铃提醒,将闹铃提醒与闹铃设置分离。SIngleInstance不要用于中间页面,比如:A->B(singleInstance)->C,完全退出后,在此启动,首先打开的时B。

3、activity返回结果(上机)

你可能感兴趣的:(Android随笔-Activity)