Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15061
  • 博文数量: 7
  • 博客积分: 204
  • 博客等级: 入伍新兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-22 13:26
文章分类

全部博文(7)

文章存档

2011年(7)

我的朋友
最近访客

分类: 嵌入式

2011-03-18 09:43:45

1、Activities Quickview

Activity是一个可以给用户提供交互界面的组件。这个界面通常是全屏幕的,当然也可以是浮动于其他窗口之上的一个小窗口。

一个Android应用通常是由好多个有着松耦合的Activity组成。一般是有一个“main”Activity,它会在用户初次启动程序时展现在用户面前。随后程序根据用户的操作来启动其他的Activity,每当启动新的Activity的时候,先前的activity就“stopped”了(但其并没有别销毁),系统将其保存在“back stack”中,而新启动的Activity就被放在了“back stack”的栈首,并展现在屏幕的最前端。当用户完成了与栈首的Activity的交互后,通过点击BACK键,栈首的Activity即被从栈里pop出来并销毁了,先前的Activity resumes。

2、Activities lifestyle

Activity的三种状态:

Resumed该activity处于屏幕的前端并获取了用户的焦点。Paused该activity是部份可视的,但是用户焦点在浮动于此activity窗口之上的另一个activity上。 Stopped该activity是不可见的,当然也没有用户焦点。
注意:当程序处于Paused和Stopped状态时,如果系统内存很低的情况下,系统会将此进程kill掉来节省内存。Activity的回调函数(Activity里以“on”开头的函数):
onCreate()
onRestar()
onStart()
onResume()
onPause()
onStop()
onDestory()
由下图可见:
onResume()和onPause()是一对,在Activity是否获取用户焦点时调用
onRestart()、onStart()和onStop()属于一个环,根据Activity是否可见被调用
当程序处于Paused和Stopped状态时(即回调函数onStop()或onPause()被调用了之后),如果系统内存很低的情况下,系统会将此Activity销毁掉来节省内存。
         




Table 1. A summary of the activity lifecycle's callback methods.

Method Description 被调用后是否可以被杀掉?
Next
当Activity初次被创建或当其内存被夺取然后又被用户使用时调用。可给此方法传递一个参数:Bundle,它包含了此activity先前的状态。 No onStart()
     当之前状态为stopped,现在要变为可见时调用。 No onStart()

当Activity要变为可见时调用。

下一个被调用的函数为什么会是onStop()??

No onResume()
or
onStop()
    

当Activity要获取用户焦点时调用。

No onPause()
当系统要resuming另外的一个Activity时调用(也即其失去焦点时)。
最好在此方法中保存下一些变量数据。
Yes onResume()
or
onStop()
当Activity变为不可见时调用。 Yes onRestart()
or
onDestroy()
当Activity要变为destoried时调用。
当调用了finish()方法或系统为节省内存空间临时销毁此Activity的实例时此回调方法会被调用。
可以用 来区别这两种情况。
Yes nothing

阅读(899) | 评论(0) | 转发(0) |
0

上一篇:再读NotePad

下一篇:没有了

给主人留下些什么吧!~~