叫用本機

public class InvocationLocal
extends Object

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


此類別提供叫用範圍變數。

機制的運作方式與 ThreadLocal 類似。這些變數與 叫用程式碼時,在存取該程式碼時 (透過 get 方法) 使用的一般對應程序 具備獨立初始化的變數副本。InvocationLocal 個執行個體 通常是類別中的私人靜態欄位,建立狀態與叫用建立關聯。

只要 叫用中,且可存取 InvocationLocal 執行個體。執行 叫用已完成,其中所有叫用本機執行個體副本都受垃圾影響 (除非這些副本有其他參照)。

請注意,有別於不再參照 ThreadLocal 例項, 叫用中也不會垃圾收集。建立本機或非靜態執行個體 因此不建議採用,因為這樣即使在不繫結的情況下成長。

警告:請謹慎使用此類別,因為叫用本機變數會證明全域變數具有 也有許多相同問題

摘要

公用建構函式

InvocationLocal()

公用方法

final T get()

傳回此叫用本機變數目前執行的叫用副本。

保護方法

T initialValue()

傳回目前叫用的「初始值」這個叫用-本機變數的值

公用建構函式

叫用本機

public InvocationLocal ()

公用方法

get

public final T get ()

傳回此叫用本機變數目前執行的叫用副本。如果 變數沒有目前叫用的值,但會先以值初始化為 呼叫 initialValue() 方法即可傳回結果。

傳回
T 目前執行中叫用本機叫用的副本。

保護方法

initialValue

protected T initialValue ()

傳回目前叫用的「初始值」這個叫用-本機變數的值這個 方法則會在第一次在 叫用內容中執行的程式碼時叫用 使用 get() 方法存取變數。此方法保證能叫用 每次叫用最多只會儲存一次

此實作只會傳回 null,但可藉由子類別 InvocationLocal 進行變更並覆寫此方法進行變更。

傳回
T 這個叫用範圍變數的初始值