- 浏览: 222327 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (109)
- IOS (15)
- 设计模式 (7)
- XML (1)
- Android (31)
- 面试经 (1)
- J2EE (3)
- android md5 加密 (2)
- android imagebutton文字实现 (1)
- 反射机制 (2)
- 基础知识 (1)
- linux (3)
- java (4)
- java基础 (2)
- 文章 (1)
- myeclipse tomcat (1)
- Hadoop (1)
- ubuntu (2)
- redmine (1)
- python (4)
- jmeter (10)
- xamarin (1)
- selenium (9)
- nexus (1)
- appium (3)
- BDD (1)
- apache2 (1)
- zabbix (2)
- python,webdriver (1)
- ajax (1)
- jmeter,正则表达式,关联 (2)
- 性能测试工具 (1)
- Django (0)
- Intelij (1)
- RAP (0)
- 性能测试 (0)
最新评论
博客分类: Android
新的activity启动后,前一个activity就会停止,系统将其保存到一个历史栈中。返回时,顶层的activity就会被销毁,之前的activity就会重新显示在屏幕上。当然,如果系统内存不足,后台的activity就会被销毁。
androidmanifest中的intent-filter标签指定了初始启动的activity
Activity生命周期:由android系统管理
onCreate()
onStart()
onRestart()
onResume()
onPause()
onStop()
onDestroy()
Java代码
package com.example.ex;
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
public class MainActivity extends Activity {
private static final String LIFETAG="Aclifecycle";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart(){
super.onStart();
Log.d(LIFETAG,"onstart method is executed");
}
@Override
protected void onResume(){
super.onResume();
Log.d(LIFETAG,"onresume method is executed");
}
@Override
protected void onRestart(){
super.onRestart();
Log.d(LIFETAG,"onrestart method is executed");
}
@Override
protected void onPause(){
super.onPause();
Log.d(LIFETAG,"onpause method is executed");
}
@Override
protected void onStop(){
super.onStop();
Log.d(LIFETAG,"onstop method is executed");
}
@Override
protected void onDestroy(){
super.onDestroy();
Log.d(LIFETAG,"ondestroy method is executed");
}
}
package com.example.ex;
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
public class MainActivity extends Activity {
private static final String LIFETAG="Aclifecycle";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart(){
super.onStart();
Log.d(LIFETAG,"onstart method is executed");
}
@Override
protected void onResume(){
super.onResume();
Log.d(LIFETAG,"onresume method is executed");
}
@Override
protected void onRestart(){
super.onRestart();
Log.d(LIFETAG,"onrestart method is executed");
}
@Override
protected void onPause(){
super.onPause();
Log.d(LIFETAG,"onpause method is executed");
}
@Override
protected void onStop(){
super.onStop();
Log.d(LIFETAG,"onstop method is executed");
}
@Override
protected void onDestroy(){
super.onDestroy();
Log.d(LIFETAG,"ondestroy method is executed");
}
}
启动程序:
执行3个生命周期方法:
onCreate() activity第一次创建时调用
onStart() activity对用户即将可见时调用
onResume() activity即将与用户交互时调用 磁石activity进入栈顶
在这之后总是调用onpause()方法
按下模拟器的拨号按钮,activity失去焦点,观察logcat中信息:
onPause()在activity启动另一个activity时调用。下一个activity必须等待这个方法返回后再启动。
onStop()在一个新的activity启动,其他activity被切换到前台,当前activity被销毁时都会调用。
点击返回键:
当activity从stopped状态启动时调用OnRestart()方法,后面总是调用onstart()方法。
再次按返回键,关闭activity:
很多时候,在关闭一个activity后,用户期望再次返回到哪个activity,它仍保持离开时的样子,这时候就需要考虑如何保存activity。
为了获取activity被杀死前的状态,应该为activity实现onSaveInstanceState()方法。它在activity被系统销毁前调用。
用户造成的销毁(如按下返回键),不会调用。
最好用onpause()方法来保存在停止与用户交互前更改过的数据。
总结:
oncreat() ondestroy()创建和销毁
onstart() onstop() 可见和不可见
onresume() onpause()焦点和无焦点
onrestart() 在onstop()以后却没有执行ondestroy()方法时调用。如调用了ondestroy则调用onCreat。
新的activity启动后,前一个activity就会停止,系统将其保存到一个历史栈中。返回时,顶层的activity就会被销毁,之前的activity就会重新显示在屏幕上。当然,如果系统内存不足,后台的activity就会被销毁。
androidmanifest中的intent-filter标签指定了初始启动的activity
Activity生命周期:由android系统管理
onCreate()
onStart()
onRestart()
onResume()
onPause()
onStop()
onDestroy()
Java代码
package com.example.ex;
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
public class MainActivity extends Activity {
private static final String LIFETAG="Aclifecycle";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart(){
super.onStart();
Log.d(LIFETAG,"onstart method is executed");
}
@Override
protected void onResume(){
super.onResume();
Log.d(LIFETAG,"onresume method is executed");
}
@Override
protected void onRestart(){
super.onRestart();
Log.d(LIFETAG,"onrestart method is executed");
}
@Override
protected void onPause(){
super.onPause();
Log.d(LIFETAG,"onpause method is executed");
}
@Override
protected void onStop(){
super.onStop();
Log.d(LIFETAG,"onstop method is executed");
}
@Override
protected void onDestroy(){
super.onDestroy();
Log.d(LIFETAG,"ondestroy method is executed");
}
}
package com.example.ex;
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
public class MainActivity extends Activity {
private static final String LIFETAG="Aclifecycle";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart(){
super.onStart();
Log.d(LIFETAG,"onstart method is executed");
}
@Override
protected void onResume(){
super.onResume();
Log.d(LIFETAG,"onresume method is executed");
}
@Override
protected void onRestart(){
super.onRestart();
Log.d(LIFETAG,"onrestart method is executed");
}
@Override
protected void onPause(){
super.onPause();
Log.d(LIFETAG,"onpause method is executed");
}
@Override
protected void onStop(){
super.onStop();
Log.d(LIFETAG,"onstop method is executed");
}
@Override
protected void onDestroy(){
super.onDestroy();
Log.d(LIFETAG,"ondestroy method is executed");
}
}
启动程序:
执行3个生命周期方法:
onCreate() activity第一次创建时调用
onStart() activity对用户即将可见时调用
onResume() activity即将与用户交互时调用 磁石activity进入栈顶
在这之后总是调用onpause()方法
按下模拟器的拨号按钮,activity失去焦点,观察logcat中信息:
onPause()在activity启动另一个activity时调用。下一个activity必须等待这个方法返回后再启动。
onStop()在一个新的activity启动,其他activity被切换到前台,当前activity被销毁时都会调用。
点击返回键:
当activity从stopped状态启动时调用OnRestart()方法,后面总是调用onstart()方法。
再次按返回键,关闭activity:
很多时候,在关闭一个activity后,用户期望再次返回到哪个activity,它仍保持离开时的样子,这时候就需要考虑如何保存activity。
为了获取activity被杀死前的状态,应该为activity实现onSaveInstanceState()方法。它在activity被系统销毁前调用。
用户造成的销毁(如按下返回键),不会调用。
最好用onpause()方法来保存在停止与用户交互前更改过的数据。
总结:
oncreat() ondestroy()创建和销毁
onstart() onstop() 可见和不可见
onresume() onpause()焦点和无焦点
onrestart() 在onstop()以后却没有执行ondestroy()方法时调用。如调用了ondestroy则调用onCreat。
发表评论
-
Starting emulator for AVD 'android' PANIC: Could not open: android
2013-05-21 13:29 1880我的电脑-->属性-->高级-->环境变量。 ... -
eclipse4.2版本下面安装ADT,安装已经完成了,但没有ADT的那个图标显示
2013-05-21 13:26 904如果安装过程没错,直接在Eclipse ->window ... -
Android 打包签名 从生成keystore到完成签名 -
2012-10-30 00:49 916首先,我们需要一个keystore,当然已经有了的话就不用这一 ... -
解决更新并使用最新ADT20不能创建android项目问题
2012-10-18 22:20 1008不知道谷歌又怎么了,每次更新ADT插件就会出现各种各样的问题, ... -
ORACLE分页查询SQL语法
2012-10-18 22:20 1174oracle数据库 --1:无ORDER BY ... -
布局
2012-10-18 22:21 1054padding:描述控件里面的内容与控件的关机,内边距;有四个 ... -
常用控件:TextView EditView
2012-10-13 13:32 1137TextView 布局: Xml代 ... -
按钮控件
2012-10-13 13:32 1153监听器: 监听器 方法 内容 OnClickList ... -
菜单
2012-10-13 13:31 1075menu键触发 三种形式:普通的option menu;上下 ... -
HttpClient
2012-10-13 13:31 1092在Android开发中我们经常会用到网络连接功能与服务器进行数 ... -
Android 的一些提示框
2012-10-08 00:57 7651.在测试时,如何实现一个提示 可以使用 Toast.ma ... -
Intent的几种用法
2012-10-08 00:57 908下面列出几种Intent的用法 1. 启动一个新的Activ ... -
Android改变窗口标题栏的布局
2012-10-10 23:26 889一、 重点 一般应用的Title都是建立应用时在Androi ... -
android中如何自定义attributes
2012-10-10 23:26 955写程序中可能需要用到一些自定义的view控件,这样就需要增加一 ... -
android manifest.xml中元素含义
2012-10-08 00:56 797android:allowTaskReparenting 是 ... -
十二个android编程技巧
2012-10-10 23:26 9641.让一个图片透明: Java代码 1. Bitm ... -
Android Phone类分析
2012-10-10 23:26 1201AccelerometerListener:感应 ... -
android控件设置居中方式
2012-10-07 00:16 8424垂直居中 android:layout_centerVert ... -
android TextView属性大全
2012-10-10 23:28 945android:autoLink设置是否当 ... -
Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
2012-10-11 00:16 883客户端代码示例: /** * HTTP请求 * ...
相关推荐
Activity生命周期源代码 Activity生命周期源代码 Activity生命周期源代码
很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图
activity生命周期详解,http://blog.csdn.net/huiblog/article/details/53292490
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
andriod 开发之 Activity生命周期总结,
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Activity生命周期Demo
详细描述 Android四大控件之一的Activity的生命周期,以及使用注意事项
一个测试Activity生命周期的小DEMO。
深入理解Activity生命周期示例代码.
Android Activity生命周期演示源码,从第一个Activity到第二个Activity,Android Activity形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~ Activity是可见的。
Activity生命周期 启动模式实例
Activity生命周期运行时序图,需要了解的可以下载看看
Activity生命周期的完美呈现,通过一个简单的项目,可以比较好地理解Activity的整个生命周期,对于初学者有一定的帮助!
activity生命周期、线程优先级、异常销毁、任务栈 参考代码
Activity生命周期及Intent传值
主要讲讲: 何时onPause, 何时onStop,何时onDestory; 以及恢复的时候,何时onRestart,何时onResume。
基于Android Studio,通过简单的实例分析Activity的生命周期