Activity。。。
来源:互联网 发布:rcd510密码破解软件 编辑:程序博客网 时间:2024/05/03 05:16
是什么?
(1)an application component
(2)可以有界面,用户可以交互。通常fill屏幕,也可不fill,而是float在其他window上
一个application可有多个activity,有一个为main,通常是app启动时present给用户的界面
每个activity都可以start另一个activity,同时旧activity被stop,但system 在“back stack”里preserve它
当activity start时,push stack
当activity stop时,pop stack -->> destroyed -->> 前一个activity resume
callback
onCreate()
必须implement之,setContentView(),你懂的
onPause()
用户leave某activity时,可能没destroy,此时需要commit any 需要保存的 changes,因为可能不回来了
declare
必须在manifest里注册activity,system才能找到
<action android:name="android.intent.action.MAIN" /> 程序入口,若有多个,选第一个
starting
startActivity
startActivityForResult -->> onActivityResult
shutting down
finish
finishActivity
最好不要显示shut down一个activity,而是交给system处理
Activity Lifecycle
三种状态
resumed :显示在屏幕上,也可称之为running
paused :另一个activity显示,但是这个still visible(partially transperent 或 没cover整个屏幕),
completely alive,所有状态保存在memory中,window manager在管着,但随时可能被killed(memory用尽时...)
stopped : 在background, still alive,window manager没在管着,no longer visible to user
onCreate -------------------------entire
onStart --------------------visible
onResume -----------foreground
onPause
onStop
onDestroy
保存activity state
onPause或onStop后,activity object还在内存中,activity返回后可以recover state
但activity object可能被kill掉,当系统没有资源时,这样的话,memory中的activity object没了, 之前做的changes也没了
所以,,,resume时,必须recreate整个activity才行
onSaveInstanceState() -->> destroy -->> onCreate(savedInstanceState)
通常在onStop或者onPause之前执行
但是,onSaveInstanceState不一定在会执行,比如用BACK key关闭时,因为用户显示关闭activity,就没有必要了
UI state : onSaveInstanceState()的默认实现里包含了对控件 widgets view ..状态的保存,但需要空间含有unique ID
需要persist的数据必须在onPause()中进行save,比如需要保存到数据库里的changes
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
生命周期
运行,暂停,停止
系统资源匮乏时,会结束掉暂停态、停止态的activity
- Activity
- Activity
- Activity。。。
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- Activity
- activity
- Activity
- Activity
- activity
- Activity
- activity
- activity
- activity
- C#委托
- 5 Technology Predictions for 2011
- 2907
- data structure: static linked list / hash linking / an array based linked list
- How to add net.sf.json-lib dependendy in Maven
- Activity。。。
- vb编程:windwosapi全攻略
- 笔记
- 提问的智慧
- 就当是迷你版的UNP吧
- Linux中vi显示中文乱码的问题
- vb数据库编程技术001
- 都是需求惹的祸
- 蚯蚓理论