精华内容
下载资源
问答
  • 安卓生命周期图

    千次阅读 2018-06-27 22:39:49
    第一次启动 点击Home键 再次打开软件 点击返回键退出

    1

    第一次启动
    1
    点击Home键
    1
    再次打开软件
    2
    点击返回键退出
    3

    展开全文
  • 安卓生命周期

    千次阅读 2013-05-23 16:23:19
    每个学习安卓的同桌应该都知道Activity是拥有自己的生命周期的。算起来这也是一个老生常谈的问题了。很多时候我们根本就没有体会这到底有什么作用,但实际上,了解Activity的生命可以让我们更好的理解页面切换、任务...

    老生常谈的问题——Activity的生命周期

    Activity的生命周期

     

    每个学习安卓的同桌应该都知道Activity是拥有自己的生命周期的。算起来这也是一个老生常谈的问题了。很多时候我们根本就没有体会这到底有什么作用,但实际上,了解Activity的生命可以让我们更好的理解页面切换、任务这些行为下发生的过程,开发出更加健壮的应用。

    这张图片是官方文档给出的,概括起来就一句话:当你要用一个Activity时,它的状态会一直上升直到Resumed,而当Activity不再使用时,它的状态就会不断的下降直到Destroy。

     

    这样讲还是很抽象,来看一个demo。

    这个demo包括一个MainActivity、一个AnotherActivity和一个DialogActivity(就是使用了对话框主题的Activity)。

    主界面是这样的。

     

    布局就不贴出来了~~~来看看具体的代码:

    View Code
     1 public class MainActivity extends Activity {
     2     
     3     private static final String LOG_TAG = "DEBUG";
     4 
     5     private Button btn_showDialog, btn_startDialogActivity, btn_startAnotherActivity;
     6 
     7     @Override
     8     protected void onCreate(Bundle savedInstanceState) {
     9         super.onCreate(savedInstanceState);
    10         Log.d(LOG_TAG, "create");
    11         setContentView(R.layout.activity_main);
    12         findView();
    13         setListener();
    14     }
    15 
    16     private void findView() {
    17         btn_showDialog = (Button) findViewById(R.id.btn_showDialog);
    18         btn_startDialogActivity = (Button) findViewById(R.id.btn_startDialogActivity);
    19         btn_startAnotherActivity = (Button) findViewById(R.id.btn_startAnotherActivity);
    20     }
    21 
    22     private void setListener() {
    23         btn_showDialog.setOnClickListener(new OnClickListener() {
    24 
    25             @Override
    26             public void onClick(View v) {
    27                 Log.d(LOG_TAG, "启动对话框");
    28                 new AlertDialog.Builder(MainActivity.this).setTitle("This is a dialog").show();
    29             }
    30         });
    31 
    32         btn_startDialogActivity.setOnClickListener(new OnClickListener() {
    33 
    34             @Override
    35             public void onClick(View v) {
    36                 Log.d(LOG_TAG, "启动对话框形式的Activity");
    37                 startActivity(new Intent(MainActivity.this, DialogActivity.class));
    38             }
    39         });
    40 
    41         btn_startAnotherActivity.setOnClickListener(new OnClickListener() {
    42 
    43             @Override
    44             public void onClick(View v) {
    45                 Log.d(LOG_TAG, "启动普通的Activity");
    46                 startActivity(new Intent(MainActivity.this, AnotherActivity.class));
    47             }
    48         });
    49     }
    50 
    51     @Override
    52     protected void onStart() {
    53         super.onStart();
    54         Log.d(LOG_TAG, "start");
    55     }
    56 
    57     @Override
    58     protected void onResume() {
    59         super.onResume();
    60         Log.d(LOG_TAG, "resume");
    61     }
    62 
    63     @Override
    64     protected void onPause() {
    65         super.onPause();
    66         Log.d(LOG_TAG, "pause");
    67     }
    68 
    69     @Override
    70     protected void onStop() {
    71         super.onStop();
    72         Log.d(LOG_TAG, "stop");
    73     }
    74 
    75     @Override
    76     protected void onDestroy() {
    77         super.onDestroy();
    78         Log.d(LOG_TAG, "destroy");
    79     }
    80 
    81 }

     

    这个也没什么好说的,就是对三个按钮设置监听器分别启动相应的界面,再有就是把状态打印出来。

     

    好的,启动我们的程序来看看Logcat输出了什么:

     

    嗯,这结果符合我们的预期。启动一个Activity应该是先onCreate再onStart再onResumed。

    我们再点击一下“显示一个对话框”看看怎样:

     

    可以看到,弹出了一个对话框,我们再来看看Logcat:

     

    只有一个“启动对话框”就没有了,也就是说弹出一个对话框不会涉及来生命周期的切换的。

    笔者当时就疑问了,因为官方的图中是这样写的:

     

    看来不是所有的“partially visible”都会引起onPause这个方法的。

    好的,我们按一下返回,再按“启动对话框形式的Activity”看看发生了什么:

     

     

    嗯,这次就符合了。不出所料的话,按下返回就会调用onResumed方法了:

     

     

     

    接下来,我们就启动一个新的Activity,再按返回

    应该可以猜到了,这次不是“部分可见”了,所以应该会比上一次多一个onStop和onStartr的:

     

    哈哈,果然没错!

    最后当然就是按返回退出了:

     

    好了,我们把基本的过程都模拟了一遍,现在来总结一下:

    1. Antivity的生命周期是从onCreate方法开始的,我们的组件也应该是在这里进行初始化。
    2. 当Activty部分可见的时候会进入pause状态,但并不是所有情况都是!
    3. 当Activity完全不可见时,会进入stop状态。(这个我不知有没有特例~~~)
    4. 当Activity被销毁的时候,onDestory会被调用。
    展开全文
  • 安卓重要的生命周期图和流程图

    千次阅读 2016-05-24 10:04:25
    原文地址:... 1、Activity生命周期 2、Fragment生命周期 3、Service生命周期 4、View的绘制流程 5、Looper-Message-Handler流程 6、M

    原文地址:http://blog.csdn.net/RoseChan/article/details/51486513


    1、Activity生命周期


    这里写图片描述

    2、Fragment生命周期

    这里写图片描述

    3、Service生命周期

    这里写图片描述

    4、View的绘制流程图

    这里写图片描述

    5、Looper-Message-Handler流程图

    这里写图片描述

    6、MediaPlayer生命周期

    这里写图片描述

    7、SurfaceView生命周期

    这里写图片描述


    展开全文
  • 安卓生命周期有六个,分别为:onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(),每一个Activity都有这些生命周期,通过这些生命周期,Activity在不存在,停止,暂停和运行之间转换,如下:...

    1. 简述

    安卓的生命周期有六个,分别为:onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(),每一个Activity都有这些生命周期,通过这些生命周期,Activity在不存在,停止,暂停和运行之间转换,如下图:
    在这里插入图片描述

    2. 通过打印日志信息更深了解生命周期

    如果对安卓Logcat工具或是日志打印不了解,请戳此链接

    用到的代码
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    
    public class MainActivity extends AppCompatActivity {
    
        private static final String TAG = "MainActivityLog";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            Log.d(TAG,"onCreate()方法被调用");
            setContentView(R.layout.activity_main);
        }
    
        @Override
        public void onStart(){
            super.onStart();
            Log.d(TAG,"onStart()方法被调用");
        }
    
        @Override
        public void onResume(){
            super.onResume();
            Log.d(TAG,"onResume()方法被调用");
        }
    
        @Override
        public void onPause(){
            super.onPause();
            Log.d(TAG,"onPause()方法被调用");
        }
    
        @Override
        public void onStop(){
            super.onStop();
            Log.d(TAG,"onStop()方法被调用");
        }
    
        @Override
        public void onDestroy() {
            super.onDestroy();
            Log.d(TAG, "onDestroy()方法被调用");
        }
    }
    
    第一步:第一次打开应用

    运行程序,第一次打开应用日志显示如下图,可见三个生命周期方法被调用,分别为:onCreate(), onStart(), onResume(),通过上图我们得知,一个Activity第一次打开经过了:不存在->停止->暂停->运行阶段
    在这里插入图片描述

    第二步:按下home键

    日志打印如下,可见两个生命周期方法被调用,分别为 onPause(), onStop(),此时,Activity实例并没有被消灭,而是存在内存之中,Activity的状态也来到了停止
    在这里插入图片描述

    第三步:再次打开应用

    日志打印如图,可见 onStart(), **onResume()**方法再次被调用,Activity处于运行状态
    在这里插入图片描述

    第四步:按下返回键

    日志打印如下,可见调用了onPause(), onStop(), **onDestroy()**三个生命周期方法,此时应用退出,Activity又回到了不存在的状态,内存中已经没有了activity实例
    在这里插入图片描述

    3. 注意

    当安卓应用处于运行状态屏幕翻转之后,依此进行的操作是onPause(), onStop(), onDestroy()onCreate(), onStart(), onResume(),即,屏幕翻转之后的Activity实例要先被安卓系统消灭,然后再重新创建,所以,像我一样的安卓小萌新开发的时候注意屏幕翻转的信息保存。

    展开全文
  • 转载自... 1-Activity生命周期 2-Fragment生命周期 3-Service生命周期 4-View的绘制流程 5-Looper-Message-Handler流程 6-MediaPlayer生命周期 7-SurfaceView生命周期 ...
  • Iwfu-安卓重要的生命周期图和流程图

    千次阅读 2016-05-24 01:18:29
    1-Activity生命周期2-Fragment生命周期3-Service生命周期4-View的绘制流程5-Looper-Message-Handler流程6-MediaPlayer生命周期7-SurfaceView生命周期8-Activity状态保存恢复流程:9-IBinder在Android系统使用...
  • 一、生命周期图 1、当一个activity启动时,会执行onCreate→onStart→onResume 2、当按下返回键时,会执行onPause→onStop→onDestory 3、当按下Home键,有电话呼入挡住当前的activity会执行onPause→onStop,然后...
  • 安卓Service生命周期

    千次阅读 2019-04-24 18:27:55
    startService:开启一个Service且Service生命周期只与自身有关,当调用stopService或者stopSelf时停止。如果多次调用startService,只有第一次会执行onCreate,之后就只执行onStartCommand方法; bindService:开启...
  • 下面这张图是经典的安卓Activity生命周期图。(握cao,怎么这么多? 我开始方了)   生命周期图   调用时间   onCreate: Activity创建的时候调用。 onStart: Activity显示时调用。 onResume: Activity获得焦点时...
  • 安卓Activity 生命周期

    2016-12-01 00:07:49
    我们来看一下这一张经典的生命周期流程: 相信不少朋友也已经看过这个流程了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程。 1.启动Activity:系统会先调用onCreate方法,...
  • 综述    很多时候我们的任务需要绑定生命周期,比如加载网络图片、播放动画等等,我们需要跟Activity或者Fragment的生命周期进行绑定,让Activity或者Fragment的生命周期管理机制自动管理我们的任务。...
  • 安卓activity生命周期

    2016-09-08 21:31:00
    相信不少朋友也已经看过这个流程了,也基本了解了Activity生命周期的几个过程,我们就来说一说这几个过程。 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入...
  • 安卓——生命周期

    2019-03-17 16:19:00
    流走起 转载于:https://www.cnblogs.com/limitCM/p/10547455.html
  • 下面有一张:详细的介绍了app的生命周期: 来自于官方文档: 如所见,我们看见了7个生命状态,下面这个截图,介绍了每种生命状态所对应的调用情况: 第一个方法 onCreate() : app在第一次调用的情况就会...
  • Activity的生命周期内容在很多的教材中都会有所说明,”古人“还给出了一张经典的生命周期图: 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。 2....
  • Fragments的生命周期 每一个fragments 都有... 对应生命周期可参考下: 创建片元(Creating a Fragment)To create a fragment, you must create a subclass of Fragment (or an existing subclass of i...
  • 正常状态下的生命周期如下,这张图大家都应该看腻了,我就不一一赘述了 二、异常状态下 情况 1 :资源相关的系统配置发生改变导致Activity被杀死并重新创建 比如说当前Activity处于竖屏状态,如果突然旋转...
  • 安卓系统的生命周期

    2014-09-15 15:05:37
    首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码: ...
  • 先看看Activity的生命周期图 Activity的生命周期由几个过程 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。 2....
  • 我们主要围绕着一幅进行介绍:如下为了更清楚的了解Activity的生命周期,我写了一个安卓类ActivityLife,来进行介绍。第一步:创建一个Android工程,我这里命名为L001_ActivityLife第二步:修改MainActivity.java...
  • : 每当新打开一个Activity时,会入栈,此时只有这个Activity是活动状态 除了栈顶的Activity其余的都处于暂停或者停止状态 如果内存不足,需要杀死Activity时,会释放资源使Activity处于非活动状态 安卓...
  • 安卓app开发-06-Activity的生命周期

    千次阅读 2018-09-22 18:24:42
    安卓app开发-06-Activity的生命周期 创建安卓项目之后,会看到一个 HelloWorld 的例子。同时也会看到一个 MainActivity.java 的文件 MainActivity.java 文件是默认的主页面,主页面的内容为一个TextView控件(Hello...
  • 生命周期和启动模式是安卓最最基础的部分,这里简单梳理下并做记录, Activity生命周期 典型情况下指的是再用户的正常使用过程中,activity的生命周期变化,而异常情况指的是activity因为内存等因素被系统回收,...
  • 安卓笔记】activity生命周期

    千次阅读 2014-02-14 14:11:24
    类似文章网上数不胜数,这里我只是为了记录一下这个知识点,方便以后复习。 ----------------------------------------------------------------------------------------------------------...一.activity生命周期图
  • 一.活动状态 每个活动在其生命周期中最多可能会有4种状态 1. 运行状态 ...生命周期示意 二.活动的生存期 onCreate()。每个活动中我们都重写了这个方法,它会在活动第一次被创建的时候调用。 onStart()。
  • 以下为Activity的生命周期图:    上图很好的概述了整个生命周期。在一个Activity的生命周期中,类似于一个金字塔,系统调用了一系列的生命周期中的核心方法。也就是说,Activity声明周期的每一个阶段相同金字塔...
  • 图例是安卓生命周期 activity启动模式 android:launchMode=“singleTop”/“standard” 启动模式唯一和允许重复,不是栈顶的话还是会新建一个。 “singleTask”只会有一个相同的activity, 之前的activity执行...
  • 文章目录零、学习目标一、Activity生命周期1、了解Activity生命周期2、Activity生命周期简化(1)Activity存在与否(2)Activity可见与否(3)Activity可交互与否3、Android进程优先级二、Activity生命周期回调...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 287
精华内容 114
关键字:

安卓生命周期图