sequenceDiagram
participant CT as CT<br>(ClientTransaction)
participant AT as AT<br>(ActivityThread)
participant H as H<br>(Handler)
participant E as E<br>TransactionExecutor
participant CTI as CTI<br>(ClientTransactionItem)
note over CT: 外部接口ATMS调用<br>getLifecycleManager().<br>scheduleTransaction(transaction)
CT ->> CT: setLifecycleStateRequest<br>param:ClientTransaction
CT ->> CT: addCallback<br>param:ClientTransaction
CT ->> AT: scheduleTransaction<br>通过持有的mClient对象<br>IApplicationThread发起跨进程通信
AT ->> AT: sendMessage<br>发送消息:EXECUTE_TRANSACTION
AT ->> H: sendMessage<br>交给Handler处理
H ->> H: handleMessage<br>EXECUTE_TRANSACTION
H ->> E: execute
E ->> E: executeCallbacks
E ->> E: executeLifecycleState
E ->> CT: getCallbacks
CT -->> E: 返回注册的List<ClientTransactionItem>
E ->> CTI:execute
E ->> CTI: postExecute
CTI ->> AT: 根据ClientTransactionHandler不同的实现类调用不同的接口<br>如handleActivityConfigurationChanged