菜单

Activity

lifecycle

Activity 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

  1. stack of activities
  2. include activities from several apps
  3. not a process

Multiple Tasks

Creating a new task

FLAG_ACTIVITY_NEW_TASK

如果已有一个相同 affinity 的 task 存在,那么将这个 task 带到前台,然后再进行判断,如果Intent 更此 Task 的根 Activity 相同,则把 task 带到前台便完成;若找不到,那新的 Activity 将推入单前的 Task 中。

ActionBar

  1. make the most common actions more visible
  2. structure and place to the app

structure navigation in app

Activity Manager

Activity Manager 管理的是整个系统层面的 Activity,提供获取内存信息,当前 Tasks,当前 Services,杀死进程等等的方法,主要用于任务管理 app 吧。

ActivityInfo