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 |
此调用范围的变量的初始值 |