本地調用

public class InvocationLocal
extends Object

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


此類提供調用範圍變量。

該機制的運行類似於ERROR(/ThreadLocal) 。這些變量不同於它們的正常對應物,因為訪問一個變量(通過其get方法)的調用中的代碼有其自己的、獨立初始化的變量副本。 InvocationLocal實例通常是希望將狀態與調用相關聯的類中的私有靜態字段。

只要調用正在進行並且InvocationLocal實例可訪問,每個調用都與一個調用範圍變量的副本相關聯。調用完成後,其所有調用本地實例的副本都將接受垃圾回收(除非存在對這些副本的其他引用)。

請注意,與ERROR(/ThreadLocal)不同,在調用仍在進行時不再引用的實例不會被垃圾收集。因此不建議創建本地或非靜態實例,因為它們可以無限增長。

警告:謹慎使用此類,因為調用局部變量是具有許多相同缺陷的美化全局變量。

概括

公共構造函數

InvocationLocal ()

公共方法

final T get ()

返回此調用局部變量的當前執行調用的副本。

受保護的方法

T initialValue ()

返回此調用局部變量的當前調用的“初始值”。

公共構造函數

本地調用

public InvocationLocal ()

公共方法

得到

public final T get ()

返回此調用局部變量的當前執行調用的副本。如果變量在當前調用中沒有值,則首先將其初始化為調用initialValue()方法返回的值。

退貨
T此調用本地的當前執行調用的副本。

受保護的方法

初始值

protected T initialValue ()

返回此調用局部變量的當前調用的“初始值”。在調用上下文中執行的代碼第一次使用get()方法訪問變量時,將調用此方法。此方法保證每次調用最多調用一次。

此實現僅返回null但可以通過子類化InvocationLocal並覆蓋此方法來更改。

退貨
T此調用範圍變量的初始值