初识安卓

来源:互联网 发布:常用软件端口号 编辑:程序博客网 时间:2024/04/29 07:28
这几天对安卓方面有了简单的了解,因为每个手机界面都离不开Activity,所以就说说Activity生命周期。

 首先看一下Android api中所提供的Activity生命周期图

Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码:

public class Activity extends ApplicationContext {         protected void onCreate(Bundle savedInstanceState);         protected void onStart();             protected void onResume();         protected void onPause();          protected void onStop();         protected void onDestroy();     }  

为了便于理解,我写了一个测试类(就是重写了上面的6个方法)

package com.fei.testactivity;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class TestActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);System.out.println("oncreate。。。");}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();System.out.println("onstart。。。");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();System.out.println("onresum。。。");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();System.out.println("onpause。。。");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();System.out.println("onstop。。。");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();System.out.println("ondestroy。。。");}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.test, menu);return true;}}

运行效果为:

但要了解它的生命周期,还是要看logcat的

打开应用时先后执行了onCreate()->onStart()->onResume三个方法,看一下LogCat视窗如下:

 当按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法,如下图所示:

当按HOME的时候,Activity先后执行了onPause()->onStop()这两个方法,这时候应用程序并没有销毁。如下图所示:

OK,大功基本告成,这时候可以在回上面看一下Activity生命周期图,应该会有更深的理解把。

 

 

原创粉丝点击