InvocationLocal

public class InvocationLocal
extends Object

java.lang.Object 中
   ↳ com.android.tradefed.invoker.logger.InvocationLocal<T>


此类提供调用范围的变量。

该机制的运作方式与 ThreadLocal 类似。这些变量不同于 相应代码中的普通副本(通过其 get 方法访问)中的普通副本 拥有各自独立初始化的变量副本。InvocationLocal 个实例 通常是类中希望将状态与调用相关联的私有静态字段。

每个调用都会与一个调用范围的变量相关联,前提是 调用正在进行中,且 InvocationLocal 实例可访问。在 调用完成后,其 invocation-local 实例的所有副本都可能会被垃圾回收 集合(除非存在对这些副本的其他引用)。

请注意,与 ThreadLocal 时不再引用的实例不同, 仍在进行的调用不进行垃圾回收。创建本地或非静态实例 因此不推荐使用,因为它们可以不受限制地增长。

警告:请谨慎使用此类,因为 invocation-locals 是美化全局变量, 许多相同的误区。

摘要

公共构造函数

InvocationLocal()

公共方法

final T get()

返回此调用局部变量当前正在执行的调用的副本。

受保护的方法

T initialValue()

返回当前调用的“初始值”调用局部变量。

公共构造函数

InvocationLocal

public InvocationLocal ()

公共方法

get

public final T get ()

返回此调用局部变量当前正在执行的调用的副本。如果 变量当前调用没有值,则首先将其初始化为值 调用 initialValue() 方法返回。

返回
T 当前执行的调用的副本,这是此调用的本地调用。

受保护的方法

initialValue

protected T initialValue ()

返回当前调用的“初始值”调用局部变量。这个 方法。 通过 get() 方法访问变量。系统会调用该方法 每次调用最多计算一次

此实现仅返回 null,但可以通过为 InvocationLocal 创建子类并替换此方法进行更改。

返回
T 此调用范围的变量的初始值