- 浏览: 192288 次
- 性别:
- 来自: 深圳
最新评论
-
0dragon:
挺多 我试试先
android 状态栏(StatusBar) -
z494627:
这个加速插件是做什么用的?
Ubuntu10.04 搭建android平台
activity类处于android.app包中,继承体系如下:
1.java.lang.Object
2.android.content.Context
3.android.app.ApplicationContext
4.android.app.Activity
activity是单独的,用于处理用户操作。几乎所有的activity都要和用户打交道,所以activity类创建了一个窗口,开发人员可以 通过setContentView(View) 接口把 UI放到activity创建的窗口上,当activity指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过windowIsFloating 的主题集合),或者嵌入到其他的 activity(使用ActivityGroup )。 大部分的Activity子类都需要实现以下两个接口:
- onCreate(Bundle)接口是初始化activity的地方. 在这儿通常可以调用setContentView(int)设置在资源文件中定义的UI, 使用findViewById(int) 可以获得UI中定义的窗口.
- onPause()接口是使用者准备离开activity的地方,在这儿,任何的修改都应该被提交(通常用于 ContentProvider保存数据).
为了能够使用Context.startActivity() , 所有的activity类都必须在AndroidManifest.xml文件中定义有相关的“activity” 项。
activity类是Android 应用生命周期的重要部分。
Activity生命周期
在系统中的Activity被一个Activity栈所管理。当一个新的Activity启动时,将被放置到栈 顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。
Activity有四种本质区别的状态:
- 在屏幕的前台(Activity栈顶),叫做活动状态或者运行状态(active or running)
- 如果一个Activity失去焦点,但是依然可见(一个新的非全屏的Activity 或者一个透明的Activity 被放置在栈顶),叫做暂停状态(Paused)。一个暂停状态的Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是 在系统内存极端低下的时候将被杀掉。
- 如果一个Activity被另外的Activity完全覆盖掉,叫做停止状态(Stopped)。它依然保持所有状态和成员信息,但是 它不再可见,所以它的窗口被隐藏,当系统内存需要被用在其他地方的时候,Stopped的Activity将被杀掉。
- 如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中 删除,Android系统采用 两种方式进行删除,要么要求该Activity结束,要么直接杀掉它的进程。当该Activity再次显示给用户时,它必须重新开始和重置前面的状态。
下面的图显示了Activity的重要状态转换,矩形框表明Activity在状态转换之间的回调接口,开发人员可以重载实现以便执行相关代码,带 有颜色的椭圆形表明Activity所处的状态。
在上图中,Activity有三个关键的循环:
- 整个的生命周期,从onCreate(Bundle)开始到onDestroy()结束。 Activity在onCreate()设置所有的“全 局”状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的线程,用于从网络下载数据,则该Activity可以 在onCreate()中创建线程,在onDestory()中停止线程。
- 可见的生命周期,从onStart()开始到onStop()结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前 台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart中注册一个IntentReceiver 来监听数据变化导致UI的变动,当不再需要显示时候,可 以在onStop()中注销它。onStart(),onStop()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。
- 前台的生命周期,从onResume()开始到onPause()结束。在这段时间里,该 Activity处于所有Activity的 最前面,和用户进行交互。Activity可以经常性地在resumed和paused状态之间切换,例如:当设备准备休眠时,当一个Activity处 理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。
Activity的整个生命周期都定义在下面的接口方法中,所有方法都可以被重载。所有的Activity都需要实 现 onCreate(Bundle)去初始化设置,大部分Activity需要实现onPause()去提交更改过的数据,当前大部分的Activity也 需要实现onFreeze()接口,以便恢复在onCreate(Bundle)里面设置的状态。
public class Activity extends ApplicationContext {
protected void onCreate(Bundle icicle);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onFreeze(Bundle outIcicle);
protected void onPause();
protected void onStop();
protected void onDestroy();
}
发表评论
-
adb logcat
2013-09-24 09:22 0android adb 使用教程: http://www.os ... -
(转)android中如何获得webView中的内容
2013-05-02 16:43 1193本文概要:在程序中经常会用到webView来显示网页,但如果 ... -
(转)【Android】Paint的效果研究
2013-04-15 15:44 34752在Paint中有很多的属性可以设置,比如可以设置阴影, ... -
(转)Android 四种launchMode
2013-04-08 15:55 10751,standard 每次都会新建 ... -
(转)Android TextView中链接(link)点击事件的截取
2013-04-08 10:58 2159布局文件xml 1 <TextView 2 ... -
Android JNI介绍
2013-01-17 19:44 3084附:相关代码路径 /fr ... -
区分Activity的四种加载模式
2013-01-06 19:19 0在多Activity开发中,有 ... -
android Makefile学习总结
2012-12-17 12:07 0(1)build.prop是如何生成的 Android 的 ... -
Ubuntu10.04 搭建android平台
2012-12-03 13:02 1182转自:http://www.cnblogs.com/Wonde ... -
Android SDK中tools详解
2012-11-29 09:48 0Android SDK包含了各种各 ... -
在Eclipse中查看Android源码
2012-11-16 11:32 994两件事的解决办法: ... -
Android中的长度单位
2012-11-09 11:02 999dp 和 sp px:表示屏幕实 ... -
Android自动化压力测试图解教程——Monkey工具
2012-10-31 11:10 4396有时候我们需要对一个软件进行压力测试,检查该软件的性能。如果是 ... -
Android 移动终端camera 防偷*拍设置
2012-09-28 16:14 2478目前市面上的所有移动终端几乎都有camera 应用,但A ... -
(转)【流媒體】Android 实时视频采集—Cameara预览采集
2012-09-25 13:54 146321 概述 通过Android Camera拍摄预览中设置se ... -
(转)android CAMERA 设置照片大小
2012-09-25 12:05 5170最近在 REAL210 android 上调试 CAMERA ... -
(转)Camera构架分析
2012-09-24 13:40 1608一.Camera构架分析 Android ... -
(转)Android Camera 开发之前言
2012-09-24 10:15 1742一、 Android Camera 成像原理介绍 ... -
(转)使用Memory Analyzer tool(MAT)分析内存泄漏
2012-08-09 15:14 1096前言 在平时工作 ... -
(转)Android NDK HelloJNI
2012-07-18 14:10 1584入门的最好办法就是学习Android自带的例子, 这里就通过学 ...
相关推荐
1、设计界面,包括四个按钮,两个文本框。单击对应按钮可以启动对应...假定Activity A为启动Activity。 2、修改 Activity 的启动模式 LaunchMode,并通过 Log 信息来体会不同启动模式所对应的Activity 和 task 的关系
日志追踪(完成以下六步、明白android的四种状态的生命周期和相互切换): 1、启动app、查看控制台输出,发现依次触发onCreate、onStart、onResume这三个方法 2、点击按钮(弹窗风格的Activity),控制台输出onPause...
实验一 第一个Android程序和Activity生命周期。实验要求: 1.用工程向导生成第一个Android程序,并在模拟器上运行 注意在新建应用的选择SDK版本时选API 18 2.熟悉Android应用程序的基本文件结构 3.了解使用开发环境...
Activity生命周期源代码 Activity生命周期源代码 Activity生命周期源代码
很好的一张Activity生命周期图,可以很清楚了解Activity生命周期的流程图
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
详细描述 Android四大控件之一的Activity的生命周期,以及使用注意事项
设备旋转时,当前看到的Activity实例会被系统销毁,然后再创建一个新的当前Activity实例。
Activity生命周期
Android 生命周期管理:重置一个 Activity Android 生命周期管理是 Android 应用程序开发中一个非常重要的概念,涉及到 Activity 的生命周期管理,包括 Activity 的创建、启动、停止、销毁等过程。在 Android 中,...
Activity生命周期及Intent传值
Activity生命周期Demo
andriod 开发之 Activity生命周期总结,
activity生命周期详解,http://blog.csdn.net/huiblog/article/details/53292490
Activity生命周期的完美呈现,通过一个简单的项目,可以比较好地理解Activity的整个生命周期,对于初学者有一定的帮助!
一个测试Activity生命周期的小DEMO。
深入理解Activity生命周期示例代码.
(2)上机要求1. 完成实验目的所涉及内容2. 保存工程文件与开发环境,以供下次上机使用二,上机内容与步骤创建Activity生命周期程序在Android St
Activity生命周期 启动模式实例
devDiv 移动开发丛书之android 第二章 activity 生命周期