内推
【长期有效】欢迎加入字节跳动我的团队:内推链接
万丈架构平地起,带你拆解Google Android Architecture Component(以下简称 Arch)系列之一。
此次解析比较简约且独立的部分,android.arch.core.executor包。让我们来学习下Google的TaskExecutor。
此包从属于android.arch.core:runtime 可以理解为acrh的基础工具集。
包下就三个类:
1.TaskExecutor
抽象类,基类,如下:
public abstract class TaskExecutor {
public abstract void executeOnDiskIO(@NonNull Runnable runnable);
public abstract void postToMainThread(@NonNull Runnable runnable);
public void executeOnMainThread(@NonNull Runnable runnable) {
if (isMainThread()) {
runnable.run();
} else {
postToMainThread(runnable);
}
}
public abstract boolean isMainThread();
}
提供四个方法,定义TaskExecutor的功能,即在主线程/IO线程执行任务。executeOnMainThread方法判定是否此方法执行是否已在主线程,如果在则直接执行,不在则post只主线程

本文介绍了Android架构组件中的TaskExecutor,它是核心工具包的一部分。TaskExecutor抽象类定义了在主线程和IO线程执行任务的接口。ArchTaskExecutor通过代理模式实现了TaskExecutor,允许外部自定义执行模型。DefaultTaskExecutor作为默认实现,使用固定线程池并提供了线程并发控制。这个设计允许开发者灵活地扩展和定制任务执行策略。

1134

被折叠的 条评论
为什么被折叠?



