Android笔记之多个Activity的生命周期交互

单个Activity:

应用开启时调用:onCreate(),onStart(),onResume();

按下返回键:onPause(),onStop(),onDestory();

多个Activity之间交互时:

跳转至第二个Activity时:

FirstActivity SecondActivity
onPause()  
 
onCreate()

  onStart()
  onResume()
onStop()  

按下锁屏键

SecondActivity
onPause()
onStop()

解锁

SecondActivity
onRestart()
onStart()
onResume()

按下返回键,或者SecondActivity调用finish()

FirstActivity SecondActivity
  onPause()
onRestart()  
onStart()  
onResume()  
  onStop()
  onDestory()

生命周期应用实例

在Activity中播放音乐

oncreate():

 1     private MediaPlayer mediaplayer;
 2     @Override
 3     protected void onCreate(Bundle savedInstanceState) {
 4         super.onCreate(savedInstanceState);
 5         setContentView(R.layout.activity_main);
 6         Log.i("imformation", "MainActivity onCreate!");
 7         mediaplayer=MediaPlayer.create(this, R.raw.quite);
 8         mediaplayer.start();
 9
10     }

在Activity onPause时,音乐也需要暂停

此时,需要一个记录播放到的位置的变量:private int place;

onPause:

 1        @Override
 2     protected void onPause() {
 3     // TODO Auto-generated method stub
 4     super.onPause();
 5     if(mediaplayer.isPlaying())
 6     {
 7         mediaplayer.pause();
 8         place=mediaplayer.getCurrentPosition();
 9
10     }
11     Log.i("imformation", "MainActivity onPause!");
12     }

同样,当Activity Resume时,音乐也要接着播放

onResume:

 1     @Override
 2     protected void onResume() {
 3     // TODO Auto-generated method stub
 4     super.onResume();
 5     if(place!=0)
 6     {
 7         mediaplayer.seekTo(place);
 8         mediaplayer.start();
 9     }
10     Log.i("imformation", "MainActivity onResume!");
11     }

当Activity 销毁时,音乐播放器也要销毁

 1     @Override
 2     protected void onDestroy() {
 3         // TODO Auto-generated method stub
 4         super.onDestroy();
 5             if(mediaplayer!=null){
 6         mediaplayer.release();
 7         mediaplayer=null;
 8                  }
 9         Log.i("imformation", "MainActivity onDestory!");
10     }        

注:本文是学习慕课网Android-重识Activity(http://www.imooc.com/learn/384)时的笔记,如有侵权行为,立即删除

时间: 2024-11-05 16:27:04

Android笔记之多个Activity的生命周期交互的相关文章

android横竖屏切换时Activity的生命周期

1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+f12切换成横屏时 onSaveInstanceState--> onPause--> onStop--> onDestroy--> onCreate--> onStart--> onRestoreInstanceState--> onResume--> 4.再

跟着Google学Android —— 3.1 管好Activity的生命周期

当我们在app的不同页面间穿梭翱翔的时候,app中的Activity也在他们各自的生命周期中转换着不同的状态.当用户执行进入或者是离开某个Activity的操作时,Android系统会调用一系列生命周期的回调函数进行处理,而我们也可以重写这些回调函数,让Activity在不同的状态下执行我们想要的操作. 生命周期回调方法 下图展示了一个Activity的生命周期以及回调方法.这张图看起来就像是一个梯形金字塔,每一步都对应着Activity的一种生命状态. 在这些状态中,只有如下三种状态是静态的,

Android学习笔记(十) Activity的生命周期

一.如何在一个应用程序中定义多个Activity -定义一个类,继承Activity -复写onCreate() setContentView(R.layout.secondLayout):设定该Activity使用的布局文件 -在AndroidManifest.xml文件中注册该Activity 1)在Application标签里面加入一个Activity标签,name一般为"包名+类名",label一般为Activity名 2)如果要修改程序默认启动的Activity,需要将int

【Android开发学习笔记】【第五课】Activity的生命周期-上

今天学习Activity当中的七个生命周期函数: 首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容 打开之后只输入“Filter Name”和“by Log Tag” 即可 添加成功后可以看到 本次学习主要总结如下: 1.onCreate() Acitivity首次创建时被调用.用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作. 2.onStart() Acitivity对用户可

android开发学习笔记(二)-activity的生命周期

一:activity的生命周期: 二:created->resumed 当一个应用程序的启动图标被用户点击后,应用程序开始从Activity的onCreate()方法开始执行.(当有多个activity文件时,执行Manifest文件中指定的主activity文件). 当执行完onCreate()方法后,迅速调用onStart(),onResume()方法,用户就可以进行相关的操作. 在onCreate()方法中尽量少执行操作,防止程序运行很久都进入不了界面. 三:Resumed->Pause

【Android基础篇】Activity的生命周期

Google开发者文档 http://developer.android.com/reference/android/app/Activity.html 应用的每个页面都是一个Activity,这些Activity都存放在一个Activity栈中,每次进入某个应用或者应用的某个界面时,新界面这个Activity就压入到Activity栈的顶部:退出或返回的时候就把栈顶的Activity弹出,之前的Activity就又到了栈顶. Activity生命周期里的四个状态 - Running : Act

无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销

Android——Activity和Intent及Activity的生命周期

实验Activity的生命周期 package com.example.chenshuai.test; import android.app.Activity; import android.os.Bundle; import android.util.Log; /** * Created by chenshuai on 2016/3/16. */ public class Axtivity2 extends Activity { //回调方法 @Override protected void

android学习四(Activity的生命周期)

要学好活动(Activity),就必须要了解android中Activity的声明周期,灵活的使用生命周期,可以开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈.栈的特性是后进先出,在默认的情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而每当我们按下Back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置.系统总是会显示处于栈顶的活动给用户