叫用本機
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 |
這個叫用範圍變數的初始值 |