Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Gọi địa phương

public class InvocationLocal
extends Object

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


Lớp này cung cấp các biến phạm vi gọi.

Cơ chế hoạt động tương tự như ERROR(/ThreadLocal) . Các biến này khác với các đối tác bình thường của chúng trong mã đó trong một lệnh gọi truy cập một (thông qua phương thức get của nó) có bản sao biến được khởi tạo độc lập, riêng. Các phiên bản InvocationLocal thường là các trường tĩnh riêng tư trong các lớp muốn liên kết trạng thái với một lệnh gọi.

Mỗi lệnh gọi được liên kết với một bản sao của một biến trong phạm vi lệnh gọi miễn là lệnh gọi đang được tiến hành và phiên bản InvocationLocal có thể truy cập được. Sau khi một lệnh gọi hoàn tất, tất cả các bản sao của các phiên bản gọi-cục bộ của nó sẽ bị thu gom rác (trừ khi có các tham chiếu khác đến các bản sao này).

Lưu ý rằng không giống như các phiên bản ERROR(/ThreadLocal) không còn được tham chiếu trong khi lệnh gọi vẫn đang diễn ra không được thu gom rác. Do đó, việc tạo các phiên bản cục bộ hoặc không tĩnh không được khuyến nghị vì chúng có thể phát triển mà không bị ràng buộc.

Cảnh báo: Sử dụng lớp này một cách tiết kiệm vì các lệnh gọi cục bộ là các biến toàn cục được tôn vinh với nhiều cạm bẫy giống nhau.

Bản tóm tắt

nhà thầu công cộng

InvocationLocal ()

Phương thức công khai

final T get ()

Trả về bản sao của lệnh gọi cục bộ đang được thực thi này.

phương pháp được bảo vệ

T initialValue ()

Trả về "giá trị ban đầu" của lệnh gọi hiện tại cho biến cục bộ lệnh gọi này.

nhà thầu công cộng

Gọi địa phương

public InvocationLocal ()

Phương thức công khai

lấy

public final T get ()

Trả về bản sao của lệnh gọi cục bộ đang được thực thi này. Nếu biến không có giá trị cho lần gọi hiện tại, thì trước tiên, nó được khởi tạo thành giá trị được trả về bằng một lệnh gọi phương thức initialValue() .

trả lại
T bản sao của lệnh gọi hiện đang thực hiện của lệnh gọi cục bộ này.

phương pháp được bảo vệ

giá trị ban đầu

protected T initialValue ()

Trả về "giá trị ban đầu" của lệnh gọi hiện tại cho biến cục bộ lệnh gọi này. Phương thức này sẽ được gọi trong lần đầu tiên thực thi mã trong ngữ cảnh của lời gọi truy cập vào biến bằng phương thức get() . Phương thức này được đảm bảo sẽ được gọi nhiều nhất một lần cho mỗi lần gọi.

Việc triển khai này chỉ trả về null nhưng có thể được thay đổi bằng cách phân lớp con InvocationLocal và ghi đè phương thức này.

trả lại
T giá trị ban đầu cho biến phạm vi gọi này