ClientTransaction : 客户端事务
/**
* 定义ClientTransaction或其item可以在客户端上执行的操作。@hide
*/
public abstract class ClientTransactionHandler {
// 调度(跟阶段相关的)逻辑和处理程序。
/** 准备并安排事务执行 */
void scheduleTransaction(ClientTransaction transaction){
transaction.preExecute(this);
sendMessage(ActivityThread.H.EXECUTE_TRANSACTION, transaction);
}
/** 立即执行事务而无需调度它。这用于本地请求,因此它也将回收事务。 */
@VisibleForTesting
public void executeTransaction(ClientTransaction transaction){
transaction.preExecute(this);
getTransactionExecutor().execute(transaction);
transaction.recycle();
}
/** 获取TransactionExecutor,它将执行活动的生命周期转换和回调。 */
abstract TransactionExecutor getTransactionExecutor();
abstract void sendMessage(