一些基础类介绍
- ClientTransactionItem:能够被计划和执行的客户端回调消息
- ActivityLifecycleItem activity生命周期回调项,是个抽象类,继承自ClientTransactionItem,每个子类有target state
- ClientTransaction 是个持有一系列消息的容器,可以将消息发送给客户端,包括一个callbacks列表和一个最终的生命周期状态
ClientTransaction
封装一系列消息的容器,由system server端构建并通过ClientLifecycleManager去scheduleTransaction,所以实现Parcelable接口。
public class ClientTransaction implements Parcelable, ObjectPoolItem {
@UnsupportedAppUsage
private List<ClientTransactionItem> mActivityCallbacks;
private ActivityLifecycleItem mLifecycleStateRequest;
private IApplicationThread mClient;
private IBinder mActivityToken;
......
}
State/Lifecycle | ClientTransactionItem | Handle Method | Perform Method |
---|
ON_CREATE | LaunchActivityItem | handleLaunchActivity | performLaunchActivity |
State/Lifecycle | ClientTransactionItem | Handle Method | Perform Method |
---|
ON_RESUME | ResumeActivityItem | handleResumeActivity | performResumeActivity |
ON_PAUSE | PauseActivityItem | handlePauseActivity | performPauseActivity/performPauseActivityIfNeeded |
ON_STOP | StopActivityItem | handleStopActivity | performStopActivityInner |
ON_DESTROY | DestroyActivityItem | handleDestroyActivity | performDestroyActivity[performPauseActivityIfNeeded] |