Android开发3.1:Activity详细介绍
2013-09-04 00:34
453 查看
详细了解Activity生命周期,根据观察Logcat理解执行过程状态
版本:Android4.3 API18 整理测试笔记:liuxinming
Activity是Android程序的表现层,程序的每一个显示屏幕就是一个Activity
当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。
2、实现”生命周期回调方法“
这个是必须实现的函数,在其中做初始化工作。(注:必须在此函数中调用setContentView()函数设置Activity的界面)
2、onPause()
这个虽然很重要,但不是必须实现的。此函数在用户离开Activity时被调用(这一般并不表示Activity要被销毁了)。在这个函数中,你一般需要提交那些需要保存状态的数据--因为用户可能不再返回这个Activity了。
当Activity对用户可见的时候被调用。
4、onResume()
当Activity开始和用户交互的时候被调用。
5、onStop()
当Activity不在对用户可见的时候被调用。
6、onDestroy()
当被销毁的时候调用
首先onCreate()创建一个页面布局
其次onStart()对用户可见时调用
onResume()当和用户交互时调用
② 当没有动作时,虚拟机界面变黑,调用如下函数
onPause() 在用户离开时被调用,但并不表示要被销毁【暂停】
onStop() 当Activity不在被用户可见时调用 【停止】
③ 当滑动打开界面时,调用日志如下
onRestart() 重新把Activity加载进来,呈现给用户。
onStart() 对用户可见时调用
onResume() 当和用户交互时调用
============================下面动作是继续执行暂停,停止,注意:::多了一个销毁(因为这次我把程序关闭了)
onDestroy() 当销毁 Activity时调用
关于更详细,更多API以及类介绍参考API手册:
http://android.toolib.net/reference/android/app/Activity.html
欢迎Android , php 同学加群 QQ :224784042 交流
学习的结果,依靠于每天的持之以恒!!不是特忙,特加班情况,会每天更新一篇Android学习笔记,欢迎大家互相交流,学习,共同进步。
偶菜鸟一枚!!!!!!
晚安!
版本:Android4.3 API18 整理测试笔记:liuxinming
创建Android Project
什么是Activity?
Android四大组件之一Activity是Android程序的表现层,程序的每一个显示屏幕就是一个Activity
Activity类的继承关系
相关概述
一个程序一般由多个Activity组成,各activities之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。每个activity都可以随意启动其它的activity。每当一个activity被启动,则前一个activity就被停止。一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。新启动的activity先被存放于栈中,然后获得输入焦点。在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。
如何创建Activity
1、从类activity继承2、实现”生命周期回调方法“
两个最重要的方法
1、onCreate()这个是必须实现的函数,在其中做初始化工作。(注:必须在此函数中调用setContentView()函数设置Activity的界面)
2、onPause()
这个虽然很重要,但不是必须实现的。此函数在用户离开Activity时被调用(这一般并不表示Activity要被销毁了)。在这个函数中,你一般需要提交那些需要保存状态的数据--因为用户可能不再返回这个Activity了。
其他方法(视情况实现)
3、onStart()当Activity对用户可见的时候被调用。
4、onResume()
当Activity开始和用户交互的时候被调用。
5、onStop()
当Activity不在对用户可见的时候被调用。
6、onDestroy()
当被销毁的时候调用
看案例代码
package com.example.catlog; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; public class MainActivity extends Activity { private String tag = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(tag, "In the onStart() event"); } @Override public void onStart() { super.onStart(); Log.d(tag, "In the onStart() event"); } public void onRestart() { super.onRestart(); Log.d(tag, "In the onRestart() event"); } public void onResume() { super.onResume(); Log.d(tag, "In the onResume() event"); } public void onPause() { super.onPause(); Log.d(tag, "In the onPause() event"); } public void onStop() { super.onStop(); Log.d(tag, "In the onStop() event"); } public void onDestroy() { super.onDestroy(); Log.d(tag, "In the onDestroy() event"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
观察Logcat
① 启动Hello Word项目 ,我们可以看到如上图 Logcat 日志首先onCreate()创建一个页面布局
其次onStart()对用户可见时调用
onResume()当和用户交互时调用
② 当没有动作时,虚拟机界面变黑,调用如下函数
onPause() 在用户离开时被调用,但并不表示要被销毁【暂停】
onStop() 当Activity不在被用户可见时调用 【停止】
③ 当滑动打开界面时,调用日志如下
onRestart() 重新把Activity加载进来,呈现给用户。
onStart() 对用户可见时调用
onResume() 当和用户交互时调用
============================下面动作是继续执行暂停,停止,注意:::多了一个销毁(因为这次我把程序关闭了)
onDestroy() 当销毁 Activity时调用
结语
Android系统把ActivityLife这个Activity先杀死(具体顺序是先暂停、后关闭再销毁),然后再启动(具体顺序是先创建,后启动再恢复)。通过这个例子我们也清楚的看到了,是Android系统而不是程序员在控制Activity的生命周期。生命周期
关于更详细,更多API以及类介绍参考API手册:
http://android.toolib.net/reference/android/app/Activity.html
欢迎Android , php 同学加群 QQ :224784042 交流
学习的结果,依靠于每天的持之以恒!!不是特忙,特加班情况,会每天更新一篇Android学习笔记,欢迎大家互相交流,学习,共同进步。
偶菜鸟一枚!!!!!!
晚安!
相关文章推荐
- Android开发技术-Notification与NotificationManager详细介绍
- Android游戏开发之数据库SQLite 详细介绍(八)
- 【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法
- android 开发 EventBus3.0不同之处详细介绍
- Android Activity生命周期简明、详细介绍
- Android游戏开发之数据库SQLite 详细介绍(十七)
- 【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法
- Android图形用户界面开发之ViewTree和DecorView详细介绍
- 【Android LibGDX游戏引擎开发教程】第04期:各个模块的详细介绍
- 详细介绍Android开发集成微信支付(完整版本)
- Android图形用户界面开发之ViewTree和DecorView详细介绍
- android DLNA之dmp开发详细介绍
- Android开发学习之WallPaper设置壁纸详细介绍与实例
- Android游戏开发之数据库SQLite 详细介绍(十七)
- 【Android开发】Manifest配置文件详细介绍
- phonegap 开发入门 PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍、补充。 Ste
- 从零开始学android开发-详细谈谈intent的startActivityForResult()方法
- Android游戏开发之数据库SQLite 详细介绍(十七)
- 【Android LibGDX游戏引擎开发教程】第01期:LibGDX的详细介绍
- 安卓app开发-05-Android xml布局详细介绍