呼叫本地

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此呼叫範圍變數的初始值