Android学习之浅谈Activity

经过一段时间的学习,对Android有了一定的了解,在这里对浅解一下Activity。

Activity活动是用来与用户交互的界面,是Android组件中最基本最常见的四大组件之一,它是提供一个屏幕为了让用户跟Android之间交互完成某项任务的组件,它通过setContentView来显示指定控件。

Activity的四种启动模式:

1.standard:默认标准的。每次启动一个Activity都会创建该activity的实例对象放进栈中。

2.singleTop:如果要启动的activity实例对象位于栈顶,就会直接复用当前实例。如果不在栈顶,会创建实例对象。

3.singleTask:如果要启动的activity实例位于栈顶,就直接复用。如果位于栈中,那么在其上的所有实例对象都会依次出栈,直到当前实例位于栈顶。

4.singleInstance:如果activity使用了这种模式,相当于该activity的实例对象重新开辟了一个栈存放该实例对象。并且这个实例对象位于栈顶。所在的栈称之为共享栈。 例子:浏览器模式。

Activity的生命周期

onCreate:显示页面其实显示的是Activity的实例,这时候需要系统调用onCreate方法创建一个Activity的实例。

onStart:启动当前要显示的activity的实例。

onResume:只要这个方法执行,当前activity就显示在用户面前与用户进行交互。

onPause:当这个方法执行的时候,页面就与用户失去焦点,不能进行交互。

onStop:当这个方法执行的时候,页面就完全不可见。

onDestroy:当这个方法执行的时候,当前的activity实例就被销毁。

onRestart:页面从后台重新启动的时候执行的方法。

这些方法都不需要用户进行调用,而是系统自动进行调用的。

package cn.com.farsight.activitycycle;

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

public class MainActivity extends Activity {

//Activity创建时被调用

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.i("TAG", "onCreate");

}

//Activity创建或者从后台从新回到前台时被调用

@Override

protected void onStart() {

Log.i("TAG", "onStart");

super.onStart();

}

//Activity从后台重新回到前台时被调用

@Override

protected void onRestart() {

Log.i("TAG", "onRestart");

super.onRestart();

}

//Activity创建后者从被覆盖、后台从新回到前台时被调用

@Override

protected void onResume() {

Log.i("TAG", "onResume");

super.onResume();

}

//Activity被覆盖时被调用(暂停)

@Override

protected void onPause() {

Log.i("TAG", "onPause");

super.onPause();

}

//退出当前Activity或者跳转到新的Activity时被调用(停止时);

@Override

protected void onStop() {

Log.i("TAG", "onStop");

super.onStop();

}

//退出当前Activity时被调用,调用之后Activity就销毁了

@Override

protected void onDestroy() {

Log.i("TAG", "onDestroy");

super.onDestroy();

}

}

时间: 2024-10-16 23:30:58

Android学习之浅谈Activity的相关文章

三、Android学习第三天——Activity的布局初步介绍(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下Activity相关布局的一些知识: Activity最简单跟常用的布局分为两种: ①LinearLayout -- 线性布局 ②TableLayout -- 表格布局 ③RelativeLayout -- 相对布局(今后将会频繁的使用到这个布局) 下面来简单总结下前两种(线性/表格)布局当中常用到

二、Android学习第二天——初识Activity(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第二天——初识Activity 昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识. 以下两点是需要注意的:(个人总结) 凡是覆写得方法,在方法体中的第一行一定是super.XXX(),一定要先调用父类里的相应方法做必要的事情,再根据自己的需求去写其他的代

Android学习笔记四之Activity

Android四大组件之Activity 1.什么是Activity Activity是Android四大组件之一,用于显示View.Activity是一个应用程序组件,提供一个用户交互的接口,其本身是没有界面的,Activity类创建一个窗口,在上面可以绘制用户接口.窗口通常充满屏幕,也可以小于屏幕而悬浮于其他窗口之上. 开发者可以通过Activity类提供的setContentView(View)接口将View放到Activity创建的窗口上.一个程序一般由多个Activity组成,他们通常

【Android学习总结】之Activity:初识Activity及使用

[本博客内的文章是本人的学习笔记总结,如有错误请各位批评指正,谢谢!欢迎加入群285077071讨论] 一.Activity的目的(功能) Activity是Android系统中四大组件(四大组件为:Activity,Service,BroadCastReceiver,ContentProvider)之一,也是最常用的一个组件.为什么会是最常用的一个组件呢?主要因为就是这个组件是和用户进行直接交互的组件,也就是说这个组件提供了诸多UI供用户操作并作出相应的响应.所以国内很多开发人员习惯把它翻译为

[Android&Java]浅谈设计模式-代码篇:观察者模式Observer

观察者,就如同一个人,对非常多东西都感兴趣,就好像音乐.电子产品.Game.股票等,这些东西的变化都能引起爱好者们的注意并时刻关注他们.在代码中.我们也有这种一种方式来设计一些好玩的思想来.今天就写个Demo来描写叙述一下这种思想,用java内置的Observer来实现这一思想. 好,程序猿是不善言语的,看代码先. 1.demo的结构: 2.先创建我们的主题类Subject,他就是我们本demo的明星类.继承了Observable,顾名思义,就是被观察的类 .其它观察者对他但是虎视眈眈哦(事实上

Android开发:浅谈MVP模式应用与内存泄漏

最近博主开始在项目中实践MVP模式,却意外发现内存泄漏比较严重,但却很少人谈到这个问题,促使了本文的发布,本文假设读者已了解MVP架构. 本文原创作者:xiong_it,链接:http://blog.csdn.net/xiong_it MVP简介 M-Modle,数据,逻辑操作层,数据获取,数据持久化保存.比如网络操作,数据库操作 V-View,界面展示层,Android中的具体体现为Activity,Fragment P-Presenter,中介者,连接Modle,View层,同时持有modl

Android 设计模式之 浅谈MVP

一.概述 MVP(Model-View-Presenter) 是总所周知MVC模式的一个演变,他们的主要目的都是划分模块职责,降低模块耦合,易测试,提高代码复用,这里主要针对Android平台来简单分析MVP. 1.层级责任 Model:       负责数据的检索,持久化等操作 View:         负责UI的绘制和用户的交互 Presenter: 作为Model和View的中间协调部分,负责两者之间的业务逻辑处理 2.与MVC模式的区别 MVP模式与MVC模式从层级数据流向上来说一个主

Android移动客户端性能测试浅谈——电量

本文由作者张迎贞授权网易云社区发布. APP性能测试除了需要监控PCU.内存占用.流量等,还需要获取APP的电量数据,测试在可接受范围内,避免APP出现过度消耗电量的现象.手机有很多硬件模块:CPU,蓝牙,GPS,显示屏,Wifi,射频(Cellular Radio)等,在手机使用过程中,这些硬件模块可能处于不同的状态,譬如WIFI打开或关闭,屏幕是亮还是暗,CPU运行或休眠. 硬件模块在不同的状态下的耗电量是不同的.Android在进行电量统计时,并不是采用直接记录电流消耗量的方式,而是跟踪硬

Android事件总线 浅谈 EventBus

EventBus官方文档是这么写的:EventBus is a publish/subscribe event bus optimized for Android. 也就是说EventBus是Android下高效的发布/订阅事件总线机制. EventBus可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法. 我们先来看看官方文档对EventBus的介绍: simplifies the commu