• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Activity生命周期,activity生命周期图

Activity生命周期,activity生命周期图

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了activity生命周期图,activity生命周期,安卓activity生命周期,activity生命周期详解,activity生命周期方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Activity生命周期,activity生命周期图


在开始之前我们先了解一下什么是Activity:

         Activity活动,理解为手机屏幕,与用户的可视化界面;Activity存储在Activity栈中,后进先出

   1. onPause()和onStop()被调用的前提是: 打开了一个新的Activity!而前者是旧Activity还可见的状态;后者是旧Activity已经不可见!

   2. 另外,亲测:AlertDialog和PopWindow是不会触发上述两个回调方法的!

接下来我们就来详细说一说这几个过程。

但是知道这些还不够,我们必须亲自试验一下才能深刻体会,融会贯通。

 

  1 package com.liuxianglin.demo
  2  
  3 import android.app.Activity;  
  4 import android.content.Context;  
  5 import android.content.Intent;  
  6 import android.os.Bundle;  
  7 import android.util.Log;  
  8 import android.view.View;  
  9 import android.widget.Button;  
 10   
 11 public class LifeCycleActivity extends Activity {  
 12       
 13     private static final String TAG = "LifeCycleActivity";  
 14     private Context context = this;  
 15     private int param = 1;  
 16       
 17     //Activity创建时被调用  
 18     @Override  
 19     public void onCreate(Bundle savedInstanceState) {  
 20         super.onCreate(savedInstanceState);  
 21         Log.i(TAG, "onCreate called.");  
 22           
 23         setContentView(R.layout.lifecycle);  
 24           
 25         Button btn = (Button) findViewById(R.id.btn);  
 26         btn.setOnClickListener(new View.OnClickListener() {  
 27             @Override  
 28             public void onClick(View v) {  
 29                 Intent intent = new Intent(context, TargetActivity.class);  
 30                 startActivity(intent);  
 31             }  
 32         });  
 33     }  
 34       
 35     //Activity创建或者从后台重新回到前台时被调用  
 36     @Override  
 37     protected void onStart() {  
 38         super.onStart();  
 39         Log.i(TAG, "onStart called.");  
 40     }  
 41       
 42     //Activity从后台重新回到前台时被调用  
 43     @Override  
 44     protected void onRestart() {  
 45         super.onRestart();  
 46         Log.i(TAG, "onRestart called.");  
 47     }  
 48       
 49     //Activity创建或者从被覆盖、后台重新回到前台时被调用  
 50     @Override  
 51     protected void onResume() {  
 52         super.onResume();  
 53         Log.i(TAG, "onResume called.");  
 54     }  
 55       
 56     //Activity窗口获得或失去焦点时被调用,在onResume之后或onPause之后  
 57     /*@Override 
 58     public void onWindowFocusChanged(boolean hasFocus) { 
 59         super.onWindowFocusChanged(hasFocus); 
 60         Log.i(TAG, "onWindowFocusChanged called."); 
 61     }*/  
 62       
 63     //Activity被覆盖到下面或者锁屏时被调用  
 64     @Override  
 65     protected void onPause() {  
 66         super.onPause();  
 67         Log.i(TAG, "onPause called.");  
 68         //有可能在执行完onPause或onStop后,系统资源紧张将Activity杀死,所以有必要在此保存持久数据  
 69     }  
 70       
 71     //退出当前Activity或者跳转到新Activity时被调用  
 72     @Override  
 73     protected void onStop() {  
 74         super.onStop();  
 75         Log.i(TAG, "onStop called.");     
 76     }  
 77       
 78     //退出当前Activity时被调用,调用之后Activity就结束了  
 79     @Override  
 80     protected void onDestroy() {  
 81         super.onDestroy();  
 82         Log.i(TAG, "onDestory called.");  
 83     }  
 84       
 85     /** 
 86      * Activity被系统杀死时被调用. 
 87      * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死. 
 88      * 另外,当跳转到其他Activity或者按Home键回到主屏时该方法也会被调用,系统是为了保存当前View组件的状态. 
 89      * 在onPause之前被调用. 
 90      */  
 91     @Override  
 92     protected void onSaveInstanceState(Bundle outState) {  
 93         outState.putInt("param", param);  
 94         Log.i(TAG, "onSaveInstanceState called. put param: " + param);  
 95         super.onSaveInstanceState(outState);  
 96     }  
 97       
 98     /** 
 99      * Activity被系统杀死后再重建时被调用. 
100      * 例如:屏幕方向改变时,Activity被销毁再重建;当前Activity处于后台,系统资源紧张将其杀死,用户又启动该Activity. 
101      * 这两种情况下onRestoreInstanceState都会被调用,在onStart之后. 
102      */  
103     @Override  
104     protected void onRestoreInstanceState(Bundle savedInstanceState) {  
105         param = savedInstanceState.getInt("param");  
106         Log.i(TAG, "onRestoreInstanceState called. get param: " + param);  
107         super.onRestoreInstanceState(savedInstanceState);  



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Activity猫的一生-故事讲解Activity生命周期,activity生命周期
  • Activity生命周期,activity生命周期图
  • Activity的生命周期,Activity生命周期
  • Activity的生命周期,Activity生命周期

相关文章

  • 2017-05-26项目总结手机号+短信验证码登录,手机号验证码
  • 2017-05-26[Android] android.util.Log,android.util.logjar
  • 2017-05-26android-webview的使用小结,android-webview
  • 2017-05-26Linux 新的API signalfd、timerfd、eventfd使用说明
  • 2017-05-26Android系统四层架构分享,android四层架构
  • 2017-05-26MAT使用入门,mat入门
  • 2017-05-26zoom动画,实现图片点击预览效果,zoom预览
  • 2017-05-26Android学习笔记-TextView(文本框)(二),android-textview
  • 2017-05-26Android 手机卫士--获取联系人信息并显示与回显,android回显
  • 2017-05-26深入浅出《Unix环境高级编程》:Unix基础知识(三)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android单选按钮RadioGroup的详细使用
    • Android Scroll详解(一):基础知识
    • ARM汇编中LDR伪指令和LDR指令
    • 《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述
    • linux 破解版 confluence
    • Android 交错 GridView,androidgridview
    • 手机游戏渠道SDK接入工具项目分享(二)万事开头难,手机游戏sdk
    • 自定义Dialog,android自定义dialog
    • Android 颜色Color,android颜色color
    • Android动画原理总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有