activity详解activity文档翻译

activity详解activity文档翻译

ID:30359491

大小:84.97 KB

页数:13页

时间:2018-12-29

activity详解activity文档翻译_第1页
activity详解activity文档翻译_第2页
activity详解activity文档翻译_第3页
activity详解activity文档翻译_第4页
activity详解activity文档翻译_第5页
资源描述:

《activity详解activity文档翻译》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Activity详解Activity文档翻译转自:展现在用户面前的经常是全屏窗口,你也可以将activity作为浮动窗口来使用(使用设置了windowIsFloating的主题),或者嵌入到其他的activity(使用ActivityGroup)中。当用户离开activity时你可以在onPause()进行相应的操作。更重要的是,用户做的任何改变都应该在该点上提交(经常提交到ContentProvider这里保存数据)。1.Activity生命周期系统中的Activity可以通过一个activity栈来进行管理。当一个新的activity启动的时候,它首先

2、会被放置在activity栈顶部并成为running状态的activity--之前的activity也在activity栈中,但总是被保存在它的下边,只有当这个新的activity退出以后之前的activity才能重新回到前景界面。所有的activity本质上有四种状态:activity在屏幕的前景中(activity栈的顶端),它是active或者running状态。activity失去了焦点但是仍然可见(这个activity顶上遮挡了一个透明的或者非全屏的activity),它的状态是paused。一个paused状态的activity完全是alive

3、的(它维护自己所有的状态和成员信息,而且仍然在windowmanager的管理中),但当系统内存极度贫乏时也会将其killed。activity由于其他的activity而完全变暗,它就进入了stopped状态。它仍然保持着所有的状态和成员的信息,可是,他对于用户来说不可见,当别的地方需要内存的时候它经常会被killed。activity是paused或者stopped,系统需要将其清理出内存的时可以命令其finish或者简单kill其进程。当它重新在用户面前显示的时候,它必须完全重新启动并且将其关闭之前的状态全部恢复回来。下面的图表是Activity的状

4、态图,直角矩形代表了callback方法,你可以实现这些方法从而使Activity在改变状态的时候执行你制定的操作。带颜色的椭圆形是Activity的主要状态。这里有三个比较关键的生命周期。从最初调用onCreate(Bundle)到最终调用onDestroy()称为完整生命周期。Activity会在onCreate()进行所有"全局"状态的设置,在onDestroy()中释放所有持有的资源。举个例子,如果它有一个从网络上下载数据的后台线程,那他可能就会在onCreate()中创建这个线程并在onDestroy()中停止这个线程从activity调用onS

5、tart()开始,到调用对应的onStop()为止称为可见生命周期。在这段时间内用户可以在屏幕上看到这个activity,尽管并不一定是在前景也不一定可以和用户交互。在这两个方法之间你可以维护那些activity在用户显示时所需的资源。举个例子来说,你可以在onStart()中注册一个IntentReceiver来监控那些可以对你的UI产生影响的环境改变,当你的UI不继续在用户面前显示时你可以在onStop()中注销这个IntentReceiver。每当activity在用户面前显示或者隐藏时都会调用相应的方法,所以onStart()和onStop()方法

6、在整个生命周期中可以多次被调用。从activity调用onResume()开始,到调用对应的onPause()为止称为前景生命周期,这段时间activity处于其他所有activity的前面,且与用户交互。一个activity可以经常在resumed和paused状态之间转换--例如手机进入休眠时、activity的结果返回时、新的intent到来时--所以这两个方法中的代码应该非常的简短。所有activity都应该实现自己的onCreate(Bundle)方法来进行初始化设置;大部分还应该实现onPause()方法提交数据的修改并且准备终止与用户的交互。

7、尽管我们计划在系统中添加更多的工具来管理应用,现在大多activity仍需要实现onFreeze()并且在onCreate(Bundle)中执行对应的状态恢复。其他的方法可以在需要时进行实现,当实现这些方法的时候需要注意的是一定要调用父类中的对应方法。一般来说activity的生命周期变化看起来比较象下面的表格:方法描述Killable?下一方法onCreate()Activity初次创建时被调用,你应该在这里进行一般的静态设置:创建view、将数据绑定到list等等。如果activity之前存在冻结状态,那么此状态将在Bundle中提供。如果activi

8、ty首次创建,本方法后将会调用onStart(),如果activi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。