安卓开发那点事

Android_4_Activity常用方法

2016-12-31  本文已影响0人  icechao

Activity常用方法

只列举Activity中常用的方法,方法的参数一一列举,只简单说明方法作用

在AndroidStudio中复写方法的快捷键 command + o

一. Activity生命周期方法

生命周期评价就是对某物从产生到消亡以及消亡后所产生的效应进行全过程的评价,Activity的生命周期也就是指某个Activity从创建到销毁的整个过程中,生命周期方法就是指在这个过程中所执行的方法.
1. onCreate()
    当Activity创建时执行这个方法,也就是Activity被实例化时执行的方法,一般会在这个方法中初始化一些成员变量
2. onRestart()
    当Activity转变成后台,再回来前台时执行,也就是当Activity在被执行过onStop()方法后,再回到前台时才会执行,这个方法里面一般做和onStart()方法做同样的事情
3. onStart()
当Activity成为前台进程时执行这个方法,也就是打开的页面是当前Activity时,一般是处理一些页面打开才需要进行的操作
4. onResume()
    当Activity由不可见变可见时执行这个方法,一般处理一些处理特效
5. onPause()
    与onResume()方法对应,当Activity由可见变不可见时执行这个方法,一般处理些当Activity不可见时需要进行的操作
6. onStop()
    与onStart()方法对应,当Activity成为后台进程时执行这个方法,一般处理些当Activity不在前台需要进行的操作
7. onDestory()
    与onCreate()方法对应,当Activity被销毁时执行,一般在这个方法中释放资源,例如关闭流,cursor,

这七个方法的执行顺序是从上到下依次执行的,当需要在那个过程中做操作可以直接复写这个方法,并在方法中添加相应的操作就可以了

#######创建一个新的Activity分别复写这七个方法,然后在里面分别打印log,运行查看log

public class TestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.e("test","onCreate");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.e("test","onStart");
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Log.e("test","onRestart");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.e("test","onResume");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.e("test","onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.e("test","onStop");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.e("test","onDestroy");
    }
}

二. Activity状态保存方法

当设备的配置(横竖屏、语言等)发生变化而使Activity自动销毁重建,或者Activity从前台转到后台(如,按下Home键)的时候,Activity会调用onSaveInstanceState(Bundle)方法将当前Activity的状态保存到一个Bundle变量中。这个Bundle变量与onCreate(Bundle)方法和onRestoreInstanceState(Bundle)中的Bundle参数是同一个,也就是说,后两个方法通过传入的Bundle参数还原Activity的状态。

虽然Activity的状态保存到了Bundle中,但是数据却不会自动保存到Bundle中。要想保存这些数据就需要在onSaveInstanceState手动地设置一些重启后需要的状态数据,可以直接调用该Bundle实例的putXXX方法存入额外的数据信息,然后复写onRestoreInstanceState或者onCreate()方法在方法的参数bundle中取出所保存的值设置到当前的Activity中完成Activity的恢复.

三. View相关方法

四. 事件想关

三. Activity中的其他方法

上一篇 下一篇

猜你喜欢

热点阅读