一、Activity活动

  学习Android,第一个都会接触Activity滴,Activity表示一个用户界面,是Android应用程序的入口,可以同时有多个界面,但只会显示栈顶的界面。

Activity是Android的重要组成部分,一个程序包括多个Activity,新建项目都会有个程序启动时就调用的MainActivity。新定义Activity需在AndroidManifest配置。

如下是最简单的配置方式:

1         <activity
2             android:name=".OtherActivity"
3             android:label="other" >
4         </activity>

 

二、Activity的生命周期

  Activity的生命周期交由系统管理,每个Activity都是平等的,Activity拥有四种基本状态

1、Active/Running:一个新的Activity启动入栈后,它在屏幕的最前端,处于栈顶。此时它处于可见和可交互状态;

2、Pause:当Activity被一个透明的或Dialog样式的Activity覆盖时,它虽然仍与窗口管理器联系,仍然可见,但是此时它是失去焦点,不可交互的;

3、Stop:当Activity被另一个Activity覆盖时,完全不可见,并且不可交互,此时处于stop状态;

4、Kill:被系统进程杀死或者回收的状态,由于系统资源有限,越是处于栈的底层,越容易被回收;

android学习日记02--Activity简介

  上面是google官方的Activity生命周期示意图,看图比较好理解和记忆Activity生命周期。结合生命周期状态来讲讲生命周期相关方法

1、onCreate:Activity被启动的调用的第一个方法,作为应用程序的入口点,一般做些 数据初始化和加载用户界面的工作;

2、onStart:在onCreate之后被调用,或者一个Activity从Stop变为Active状态;

3、onResume:从Pause状态被切换为Active状态时被调用;

4、onStop:从Active状态被切换为Stop状态时被调用,一般在这里保存Activity的状态信息;

5、onDestroy:在Active被结束时调用,一般做些释放资源,清除内存等工作。

此外还有一些不常用的方法如"重新启动 onRestart","暂停 onPause"

我们可以新建个Activity,Android.util的 Log类可以实现Android输出Log这一操作,

该类提供了若干静态方法

Log.v(String tag, String msg); 
Log.d(String tag, String msg); 
Log.i(String tag, String msg); 
Log.w(String tag, String msg); 
Log.e(String tag, String msg);

分别对应 Verbose, Debug, Info, Warning,Error.

tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件。

如Log.v(tag, msg)用来打印日志查看不同状态间的切换或不同方法的执行情况。

 1 @Override
 2     protected void onCreate(Bundle savedInstanceState) {
 3         super.onCreate(savedInstanceState);
 4         setContentView(R.layout.activity_main);
 5         Log.v("MainActivity", "onCreate");
 6     }
 7     
 8     @Override
 9     protected void onStart() {
10         // TODO Auto-generated method stub
11         super.onStart();
12         Log.v("MainActivity", "onStart");
13     }
14     
15     @Override
16     protected void onStop() {
17         // TODO Auto-generated method stub
18         super.onStop();
19         Log.v("MainActivity", "onStop");
20     }
21     
22     @Override
23     protected void onResume() {
24         // TODO Auto-generated method stub
25         super.onResume();
26         Log.v("MainActivity", "onResume");
27     }
28     
29     @Override
30     protected void onPause() {
31         // TODO Auto-generated method stub
32         super.onPause();
33         Log.v("MainActivity", "onPause");
34     }
35     
36     @Override
37     protected void onDestroy() {
38         // TODO Auto-generated method stub
39         super.onDestroy();
40         Log.v("MainActivity", "onDestroy");
41     }
View Code

相关文章: