现在是可见并且可以被操作,所以现在是一个前台的Activity。

按一下Home键,它是先onPause然后onStop.

现在它就处于一个Stop停止的状态。停止的状态如果我当前内存够用的情况下,它会依然保留当前的所有信息。

如果按多一次Home键还可以把这个东西重新给调出来。

应该不是实体键设置的问题,是操作的问题。按住电脑的home键再点击安卓虚拟设备/模拟器AVD里面的实体键按钮home就可以把当前正在运行的进程调出来。记住电脑的小键盘num lock要打开才可以使用小键盘的home键。

只不过这个时候它是不可见不可被操作。但是所有的状态还会被保存。

重新再把进程调出来运行,这个时候它又处于可见并且可以被操作的状态。这些就是这些生命周期方法。


什么时候它会处于onPause?

为了能让它正确打开必须在清单文件里面声明第二个Activity。怎么能让它处于一个暂停的状态,创建一个透明的应用。

Theme.Translucent.NoTitleBar.Fullscreen

透明主题没有标题栏并且是全屏的。

先运行Day10_06_activity生命周期再运行Day10_07_透明应用,Day10_06_activity生命周期这个应用可见但是不可操作,它处于暂停状态onPause了.


如果开启了应用Day10_06_activity生命周期,然后按一下返回键就onPause->onStop->onDestroy.


如果是处于前台状态,那么就说明onResume被执行完了。前台状态->暂停状态,要执行onPause().暂停状态->前台状态,要执行onResume().

前台状态->停止状态,要执行onPause()和onStop().

销毁状态,就是onPasue()->onStop()->onDestroy().

从停止状态->前台状态,执行onrestart()->onstart()->onresume().但是没有执行onCreate(),说明Activity还是以前的,并没有创建出一个新的Activity.

Activity生命周期的七个方法必须得牢记在心。


package com.itheima.activitylifecycle;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//onCreate()每一天都在跟它打交道super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);System.out.println("onCreate");}public void open(View v){startActivity(new Intent(this, SecondActivity.class));//显式意图
    }@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();System.out.println("onStart");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();System.out.println("onResume");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();System.out.println("onPause");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();System.out.println("onStop");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();System.out.println("onDestroy");}@Overrideprotected void onRestart() {// TODO Auto-generated method stubsuper.onRestart();System.out.println("onRestart");}
}

package com.itheima.activitylifecycle;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//onCreate()每一天都在跟它打交道super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);System.out.println("onCreate");}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();System.out.println("onStart");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();System.out.println("onResume");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();System.out.println("onPause");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();System.out.println("onStop");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();System.out.println("onDestroy");}@Overrideprotected void onRestart() {// TODO Auto-generated method stubsuper.onRestart();System.out.println("onRestart");}
}

<RelativeLayout 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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="open"android:text="打开另一个activity" /></RelativeLayout>

<RelativeLayout 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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="open"android:textColor="#ff0000"android:text="打开另一个activity" /></RelativeLayout>

package com.itheima.translucent;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);return true;}}

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.itheima.translucent"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" ><activityandroid:name="com.itheima.translucent.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

<RelativeLayout 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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /></RelativeLayout>

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/7138905.html

15_activity生命周期方法说明相关推荐

  1. View的生命周期方法和Activity生命周期方法关系

    View 是在Activity 中使用到的,所以在自定义View的时候,我们需要了解Activity 生命周期方法和View的生命周期方法调用先后顺序.  见如下图 (1) 在Activity onC ...

  2. 实验10:创建带有生命周期方法的bean ||实验11:测试bean的后置处理器

    实验10:创建带有生命周期方法的bean 实验11:测试bean的后置处理器 MyBeanPostProcessor.java package com.atguigu.bean;import org. ...

  3. Spring-基于注解的配置[03Bean作用范围和生命周期方法]

    Bean的作用范围 实例 Bean的生命周期方法 实例 Bean的作用范围 通过注解配置的Bean和通过<bean>配置的Bean一样,默认的作用范围都是singleton. Spring ...

  4. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  5. 如何通俗易懂地向别人解释React生命周期方法?

    什么是生命周期方法?新的React16+生命周期方法是怎样的?你该如何直观地理解它们,以及为什么它们很有用? 生命周期方法到底是什么? React组件都有自己的阶段. 如果要你"构建一个He ...

  6. Activity的生命周期及各生命周期方法的作用

    一.Activity的生命周期中各个方法的作用 onCreate(): 做Activity上所需要数据的初始化工作. onStart(): 显示Activity界面,此时用户对界面可见但不可交互. o ...

  7. [JavaWeb-Servlet]Servlet中的生命周期方法(init,service,destroy)

    Servlet中的生命周期方法: @Override public void init(ServletConfig servletConfig) throws ServletException {}1 ...

  8. Spring4.x(7)---对象的生命周期方法

    对象的生命周期方法 Spring为了满足开发者在执行某方法之前或者在结束某个任务之前需要操作的一些业务,则提供了init-method和destroy-method  这两个属性,这两个属性需要加载在 ...

  9. android fragment 覆盖,Android Fragment 替换覆盖生命周期方法详解

    FragMent add 与 replace 方法执行试图切换生命周期变化 Activity 生命周期中共有七个方法,Fragment 的生命周期方法 则有11个,一个Fragment 在Activi ...

最新文章

  1. 从DCGAN到SELF-MOD:GAN的模型架构发展一览
  2. Bootstrap验证控件的使用
  3. 基于移动设备的Wifi开发组件
  4. Linux系统运维成长记
  5. 问答丨如何理解哈希表的工作原理?
  6. 计算机组成原理 参考,计算机组成原理参考练习
  7. 使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示。
  8. kettle清洗mysql数据_ETL工具Kettle使用以及与Java整合实现数据清洗
  9. Java当中的异常处理
  10. python 3 json 序列化
  11. MVP详细解析以及使用方法
  12. 中国外显子组测序行业市场供需与战略研究报告
  13. 高纬度思考法读书笔记
  14. 商务英语计算机,怎样练习商务英语口语
  15. Xbox 360抢鲜测评
  16. Intriguing properties of neural networks
  17. 苹果手机外放没声音怎么回事
  18. Maya多版本下载与激活方法
  19. Python递归函数应用之计算阶乘
  20. Redis - 附近商铺

热门文章

  1. ASP将查询数据导出EXCEL
  2. ASP:HTML在线编辑器的调用方法和使用方法详解
  3. SQL 查询数据打印并导出EXECL
  4. vue表格导出到Excel
  5. Caused by: java.lang.ClassNotFoundException: Didn't find class android.support.v4.view.ViewPager
  6. 传说中的CAFEBABE到底在哪儿?
  7. 又肝了下微服务 API 网关“金刚”,也是蛮香的~
  8. 两道JVM面试题,竟让我回忆起了中学时代!
  9. 关于小型长周期项目的一些建议
  10. 节点图一般的比例_基于图的异常检测(二):LOCKINFER