调用本地

public class InvocationLocal
extends Object

java.lang.Object
com.android.tradefed.invoker.logger.InitationLocal<T>


此类提供调用范围变量。

该机制的运行方式与ThreadLocal类似。这些变量与其正常对应变量的不同之处在于,访问变量(通过其get方法)的调用中的代码具有其自己的、独立初始化的变量副本。 InvocationLocal实例通常是类中希望将状态与调用关联起来的私有静态字段。

只要调用正在进行并且InvocationLocal实例可访问,每个调用都与调用范围变量的副本关联。调用完成后,其所有调用本地实例的副本都将受到垃圾回收(除非存在对这些副本的其他引用)。

请注意,与ThreadLocal实例不同的是,在调用仍在进行时不再被引用的实例不会被垃圾回收。因此,不建议创建本地或非静态实例,因为它们可能会无限增长。

警告:请谨慎使用此类,因为调用局部变量是美化的全局变量,但也存在许多相同的缺陷。

概括

公共构造函数

InvocationLocal ()

公共方法

final T get ()

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

受保护的方法

T initialValue ()

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

公共构造函数

调用本地

public InvocationLocal ()

公共方法

得到

public final T get ()

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

退货
T当前正在执行的调用的本地调用的副本。

受保护的方法

初始值

protected T initialValue ()

返回此调用局部变量的当前调用的“初始值”。当在调用上下文中执行的代码第一次使用get()方法访问变量时,将调用此方法。该方法保证每次调用最多调用一次。

此实现仅返回null ,但可以通过子类化InvocationLocal并重写此方法来更改。

退货
T此调用范围变量的初始值