• HOME键窥探Android的Activity生命周期


      好久没有写技术博客了,前两篇博客写的都是一些自己的所见所闻和心里感受,今天说一说Android中的Activity的生命周期,此篇文章使用HOME键作为测试。我是真机测试,机型是三星I9260,系统是Android4.1,下面进入正题。

      其实在很久以前就有人写过Activity生命周期,但是我看了一下,基本上都是千篇一律,给你一张图然后上面有各种小箭头和圆圈,看着就很高深的样子,这样没有几个人会耐心看下去。今天我做了一个很小的程序,就是写了一下Activity的七个小方法。代码就贴在下面,可以略过。

     1 @Override
     2     protected void onCreate(Bundle savedInstanceState) {
     3         super.onCreate(savedInstanceState);
     4         Log.v("onCreate", "onCreate()");
     5         setContentView(R.layout.activity_main);
     6     }
     7 
     8     @Override
     9     protected void onDestroy() {
    10         // TODO Auto-generated method stub
    11         super.onDestroy();
    12         Log.v("onDestroy", "onDestroy()");
    13     }
    14 
    15     @Override
    16     protected void onPause() {
    17         // TODO Auto-generated method stub
    18         super.onPause();
    19         Log.v("onPause", "onPause()");
    20     }
    21 
    22     @Override
    23     protected void onRestart() {
    24         // TODO Auto-generated method stub
    25         super.onRestart();
    26         Log.v("onRestart", "onRestart()");
    27     }
    28 
    29     @Override
    30     protected void onResume() {
    31         // TODO Auto-generated method stub
    32         super.onResume();
    33         Log.v("onResume", "onResume()");
    34     }
    35 
    36     @Override
    37     protected void onStart() {
    38         // TODO Auto-generated method stub
    39         super.onStart();
    40         Log.v("onStart", "onStart()");
    41     }
    42 
    43     @Override
    44     protected void onStop() {
    45         // TODO Auto-generated method stub
    46         super.onStop();
    47         Log.v("onStop", "onStop()");
    48     }

    好了,让我运行一下这个小程序,运行成功后在LogCat中打印这样的信息。

    11-24 16:29:30.875: V/onCreate(16405): onCreate()
    11-24 16:29:30.914: V/onStart(16405): onStart()
    11-24 16:29:30.914: V/onResume(16405): onResume()

    然后呢,我按了一下我小三的HOME键,LogCat会出现下面的信息。

    11-24 16:32:33.906: V/onPause(16405): onPause()
    11-24 16:32:34.586: V/onStop(16405): onStop()

    接着,我点击我的应用程序,重新进入到应用中,LogCat出现下面的信息。

    11-24 16:33:48.633: V/onRestart(16405): onRestart()
    11-24 16:33:48.633: V/onStart(16405): onStart()
    11-24 16:33:48.633: V/onResume(16405): onResume()

    最后,我觉得这个程序有些烂,于是乎我长按HOME键然后将其结束掉,LogCat会打印下面的信息。

    11-24 16:35:14.266: V/onDestroy(16405): onDestroy()

    好了,上面只是一些打印信息,下面开始讲解一下Activity的生命周期,在此我摘录一段网上比较好的话。

    onCreate:在这里创建界面,做一些数据的初始化工作。

    onStart:用户可见但是不可交互。

    onResume:用户可见而且可交互。

    onPause:可见但是不可交互,系统会停止动画等消耗CPU的事情。

    onStop:变得不可见。

    onDestroy:被干掉。

    通过上面几句话,其实你可以自己明白这个过程是怎么回事了。在此我就不多说了,大家可以自己继续探讨Activity的奥秘。

  • 相关阅读:
    python参考手册--第3章类型和对象
    python参考手册--第2章词汇和语法约定
    Kafka 分布式环境搭建
    常用sql语句
    ValueError: Attempted relative import in non-package
    mysql查询缓存
    secureCRT配色
    mysql deadlock处理
    How to Cope with Deadlocks
    ajax同步
  • 原文地址:https://www.cnblogs.com/linzhichao86/p/Android_Activity.html
Copyright © 2020-2023  润新知