lifecycle
低内存的时候,可能 onDestroy/onStop 没被调用 activity 就被杀死
onCreat
-onStart
|--onRestoreInstanceState
|
|--onPostCreate 在onRestoreInstanceState后调用,接收savestate参数
|
|-onResume
|--onPostResume 在这个状态,activity已经是可见的了,所有ui布局应该完成
+---------
|
|-onPause 在这个方法内提交/保持用户的操作(用户可能就此离开)
|--onSaveInstanceState
|
|onStop
|onRetainNonConfigurationInstance 暂时保留引用。
onDestroy
其他: onUserLeaveHint 当activity由用户操作进入stop状态时,会调用这个方法,书中说在用户按back 或home 键会调用,在 sense4.0 真机上只有home会调用。这个方法是个清除dialog的好地方
如果耗时操作是与 Acitivty 无关, Activity 处在哪个状态都对操作无影响,那么应该把操作方到 Service 中。
Saving Persistent State保存持久状态
鼓励使用"edit in place" 用户模型,即更改立刻生效。
提到了一个 Android 中的用户习惯,返回按钮意味著用户保存内容(如果有未保存的话)并离开当前 Activity,如果需要取消编辑要通过其他途径(比如一个取消按钮)。
Tasks
- stack of activities
- include activities from several apps
- not a process
Multiple Tasks
Creating a new task
FLAG_ACTIVITY_NEW_TASK
。
如果已有一个相同 affinity 的 task 存在,那么将这个 task 带到前台,然后再进行判断,如果Intent 更此 Task 的根 Activity 相同,则把 task 带到前台便完成;若找不到,那新的 Activity 将推入单前的 Task 中。
ActionBar
- make the most common actions more visible
- structure and place to the app
structure navigation in app
Activity Manager
Activity Manager 管理的是整个系统层面的 Activity,提供获取内存信息,当前 Tasks,当前 Services,杀死进程等等的方法,主要用于任务管理 app 吧。