huhx的android封神之路-------->Activity的生命周期
来源:互联网 发布:优化蜜蜡是假的吗 编辑:程序博客网 时间:2024/05/17 08:22
创建一个测试Activity生命周期的项目:
目录结构如下:
源代码:
1.MainActivity.java:
package com.example.linux.activitylifetest;import android.content.Intent;import android.os.PersistableBundle;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity { private final String TAG = "MainActivity"; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { Log.i(TAG, "on main create"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); startActivity(intent); } }); } @Override protected void onDestroy() { Log.i(TAG, "on main destory"); super.onDestroy(); } @Override protected void onStart() { Log.i(TAG, "on main start"); super.onStart(); } @Override protected void onRestart() { Log.i(TAG, "on main restart"); super.onRestart(); } @Override protected void onResume() { Log.i(TAG, "on main resume"); super.onResume(); } @Override protected void onStop() { Log.i(TAG, "on main stop"); super.onStop(); } @Override protected void onPause() { Log.i(TAG, "on main pause"); super.onPause(); } @Override public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { Log.i(TAG, "on main saveinstance"); super.onSaveInstanceState(outState, outPersistentState); } public void finish(View view) { this.finish(); }}
2. SecondActivity.java:
package com.example.linux.activitylifetest;import android.os.PersistableBundle;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;public class SecondActivity extends AppCompatActivity { private final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { Log.i(TAG, "on second create"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } @Override protected void onDestroy() { Log.i(TAG, "on second destory"); super.onDestroy(); } @Override protected void onStart() { Log.i(TAG, "on second start"); super.onStart(); } @Override protected void onRestart() { Log.i(TAG, "on second restart"); super.onRestart(); } @Override protected void onResume() { Log.i(TAG, "on second resume"); super.onResume(); } @Override protected void onStop() { Log.i(TAG, "on second stop"); super.onStop(); } @Override protected void onPause() { Log.i(TAG, "on second pause"); super.onPause(); } @Override public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) { Log.i(TAG, "on second saveinstance"); super.onSaveInstanceState(outState, outPersistentState); }}3. 布局文件:activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.linux.activitylifetest.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button2" android:onClick="finish" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Finish" /></LinearLayout>4. 布局文件:activity_second.xml文件没有增加什么:
分析结果:
1. 在程序第一次安装时:打印结果如下:
on main create
on main start
on main resume
2. 点击返回:
on main pause
on main stop
on main destory
3. 点击按钮时intent到second的活动中去:
on main pause
on second create
on second start
on second resume
4. 再次点击返回:
on second pause
on main restart
on main start
on main resume
on second stop
on second destory
5, 最后点击返回:
on main pause
on main stop
on main destory
PS:当再次重复试验时,结果不是以上重复的样子。这结果可能是由活动的模式改变的,具体的还在学习当中。
2 0
- huhx的android封神之路-------->Activity的生命周期
- huhx的android封神之路-------->ContentProvider的使用
- Android之路—Activity的生命周期
- Android之Activity的生命周期
- Android之Activity的生命周期
- Android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- android之Activity的生命周期
- Android之Activity的生命周期
- Android之activity的生命周期
- Android之Activity的生命周期
- 【Android】Android之Activity的生命周期
- Android学习之路(六)之 Activity的生命周期
- android应用开发之Activity的生命周期
- Android开发教程之--Activity的生命周期
- android学习之-activity的生命周期
- 把Java数组转换为List时的注意事项
- iOS开发之按钮重复点击取消响应事件优化
- 这些天关于Socket的一些心得
- 磁盘、分区、文件系统
- JSON 之 SuperObject(9): TSuperType
- huhx的android封神之路-------->Activity的生命周期
- Web中frame嵌套页面应用
- 实现让元素看不到的几种方式
- JSON 之 SuperObject(10): Merge、Clone、ForcePath
- H-进制转换
- Sublime Text3注册及汉化(支持Windows、MAC OS)
- 关于多线程和服务器
- Lucene 入门和简单封装
- Intellij idea 14 tomcat 访问网页一片空白