- 浏览: 49340 次
文章分类
- 全部博客 (25)
- Android (19)
- startActivityForResult() (1)
- Intent (3)
- HTML (1)
- onCreate (1)
- Button (3)
- OnClick (3)
- Activity (2)
- savedInstanceState (1)
- Service (2)
- message (1)
- Notification (1)
- Broadcast (1)
- SQLite (1)
- SharePreferences (1)
- Galaxy 9300 (1)
- 刷机 (1)
- root (1)
- ContentProvider (1)
- 笔记本 (1)
- 散热 (1)
- 算法 (3)
- C (4)
- socket (0)
- java (0)
最新评论
Activity的生命周期图如上所示
用一个实例来测试:
1、重写Activity的onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart
2、MainActivity 有两个按钮btn1、btn2,点击btn1跳转到SecondActivity,点击btn2跳转到ThirdActivity,用Log.i()来记录表出这3个Acitivity的生命状态
MainActivity:
package com.test.activitydemo; //import android.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.support.v4.app.NavUtils; public class MainActivity extends Activity { public final static String TAG="MainActivity"; private Button btn1; private Button btn2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i(TAG, "MainActivity-->onCreate"); btn1=(Button)findViewById(R.id.btn1); btn2=(Button)findViewById(R.id.btn2); btn1.setOnClickListener(listener); btn2.setOnClickListener(listener); } private View.OnClickListener listener=new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Button btn=(Button)v; Intent intent=new Intent(); switch(btn.getId()) { case R.id.btn1: intent.setClass(MainActivity.this, SecondActivity.class); break; case R.id.btn2: intent.setClass(MainActivity.this, ThirdActivity.class); break; } startActivity(intent); } }; @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i(TAG, "MainActivity-->onDestroy"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i(TAG, "MainActivity-->onPause"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i(TAG, "MainActivity-->onRestart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i(TAG, "MainActivity-->onResume"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i(TAG, "MainActivity-->onStart"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.i(TAG, "MainActivity-->onStop"); } }
SecondActivity:
package com.test.activitydemo; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class SecondActivity extends Activity { public final static String TAG="MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Log.i(TAG, "SecondActivity-->onCreate"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i(TAG, "SecondActivity-->onDestroy"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i(TAG, "SecondActivity-->onPause"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i(TAG, "SecondActivity-->onRestart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i(TAG, "SecondActivity-->onResume"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i(TAG, "SecondActivity-->onStart"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.i(TAG, "SecondActivity-->onStop"); } }
ThirdActivity:
package com.test.activitydemo; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class ThirdActivity extends Activity { public final static String TAG="MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.avtivity_third); Log.i(TAG, "ThirdActivity-->onCreate"); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i(TAG, "ThirdActivity-->onDestroy"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i(TAG, "ThirdActivity-->onPause"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i(TAG, "ThirdActivity-->onRestart"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i(TAG, "ThirdActivity-->onResume"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i(TAG, "ThirdActivity-->onStart"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); Log.i(TAG, "ThirdActivity-->onStop"); } }
Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.test.activitydemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity" android:label="@string/title_activity_second"> </activity> <!-- ThirdActivity以对话框的形式弹出 --> <activity android:name=".ThirdActivity" android:label="@string/title_activity_third" android:theme="@android:style/Theme.Dialog"> </activity> </application> </manifest>
当activity状态为onPause时,不适于进行太耗时的操作;
如果要保存信息,比较安全的做法是当activity在onPause时进行保存,这是因为当activity在onPause、onStop、onDestroy状态时,都有可能被系统杀死,如果在onStop或者onDestroy状态下保存,有可能activity在onPause时已经被系统杀死,从而导致信息丢失。
发表评论
-
ContentProvider
2012-08-09 14:43 798ContentProvider学习笔记 ContentPro ... -
Galaxy 9300 刷机和获取root权限
2012-08-08 14:19 1571刷机和ROOT是两个不同但是很类似的动作。 刷机应该就 ... -
SharedPreferences 存储
2012-07-27 20:02 893SharedPreferences是Android平台 ... -
SQLite 存储
2012-07-27 10:33 769SQLite是一种轻量级的,嵌入式的数据库系统,它占用的资源非 ... -
Android Broadcast 广播
2012-07-23 10:47 854从现实生活中理解广播机制 一听到广播我们第一感觉就会联 ... -
Status Notification
2012-07-22 18:12 1290Status Notification是作用是在页眉的位置,提 ... -
Android Message机制
2012-07-20 11:01 1173参考链接http://www.cnblogs.com/hnra ... -
Android Service之bindService()
2012-07-17 14:37 1152http://www.cnblogs.com/onlylitt ... -
Android Service 之StartService()
2012-07-17 10:25 11768Service是android 系统中的一种组件,它跟Acti ... -
Activity_savedInstanceState
2012-07-14 10:31 3969假设有两个Activity,分别是MainActivity,S ... -
ButtonDemo_OnClick_2
2012-07-13 00:47 600public void onCreate(Bundle ... -
intentDemo_2
2012-07-13 00:45 729<manifest xmlns:android=& ... -
intentDemo_1
2012-07-13 00:45 583package com.test.intentdemo; ... -
ButtonDemo_OnClick_3
2012-07-13 00:45 579package com.test.buttondemo; ... -
ButtonDemo_OnClick_1
2012-07-12 22:51 796public class MainActivity ex ... -
Android开发——关于onCreate的解读
2012-07-12 22:48 590在AndroidManifest.xml文件中的< ... -
startActivityForResult()的用法
2012-07-12 22:43 1592参考链接:http://www.cnblogs.com/mub ... -
Intent传递数据从一个Activity到另一个Activity
2012-07-12 21:19 11805MainActivity package com.te ...
相关推荐
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的生命周期