客戶
public
interface
Client
| com.android.tradefed.device.server.Client |
這代表單一用戶端,通常是 Dalvik VM 程序。
這個類別可存取基本用戶端資訊,以及對用戶端執行動作的方法。
如要查看更詳細的資訊 (通常會即時更新),請使用 ClientData 類別。每個 Client 物件都有自己的 ClientData,可透過 getClientData() 存取。
摘要
常數 | |
|---|---|
int |
CHANGE_DEBUGGER_STATUS
用戶端變更位元遮罩:偵錯工具狀態變更 |
int |
CHANGE_HEAP_ALLOCATIONS
用戶端變更位元遮罩:已更新分配資訊 |
int |
CHANGE_HEAP_ALLOCATION_STATUS
用戶端變更位元遮罩:已更新分配資訊 |
int |
CHANGE_HEAP_DATA
用戶端變更位元遮罩:已更新標題資料 |
int |
CHANGE_HEAP_MODE
用戶端變更位元遮罩:堆積更新旗標變更 |
int |
CHANGE_HPROF
用戶端變更位元遮罩:已更新 hprof 資料 |
int |
CHANGE_INFO
用戶端變更位元遮罩: |
int |
CHANGE_METHOD_PROFILING_STATUS
用戶端變更位元遮罩:已更新分配資訊 |
int |
CHANGE_NAME
用戶端變更位元遮罩:應用程式名稱變更 |
int |
CHANGE_NATIVE_HEAP_DATA
用戶端變更位元遮罩:已更新原生堆積資料 |
int |
CHANGE_PORT
用戶端變更位元遮罩:偵錯工具通訊埠變更 |
int |
CHANGE_THREAD_DATA
用戶端變更位元遮罩:已更新執行緒資料 |
int |
CHANGE_THREAD_MODE
用戶端變更位元遮罩:執行緒更新旗標變更 |
int |
CHANGE_THREAD_STACKTRACE
用戶端變更位元遮罩:已更新執行緒堆疊追蹤記錄 |
int |
SERVER_PROTOCOL_VERSION
|
公用方法 | |
|---|---|
abstract
void
|
captureView(String viewRoot, String view, DebugViewDumpHandler handler)
|
abstract
void
|
dumpDisplayList(String viewRoot, String view)
|
abstract
void
|
dumpViewHierarchy(String viewRoot, boolean skipChildren, boolean includeProperties, boolean useV2, DebugViewDumpHandler handler)
|
abstract
void
|
enableAllocationTracker(boolean enabled)
為這個用戶端啟用或停用分配追蹤器。 |
abstract
void
|
executeGarbageCollector()
強制用戶端執行垃圾收集器。 |
abstract
ClientData
|
getClientData()
傳回包含這項用戶端資訊的 |
abstract
int
|
getDebuggerListenPort()
傳回這個用戶端的偵錯工具連接埠。 |
abstract
IDevice
|
getDevice()
傳回這個 Client 執行的 |
abstract
boolean
|
isDdmAware()
如果用戶端 VM 可感知 DDM,則傳回 |
abstract
boolean
|
isDebuggerAttached()
如果偵錯工具目前已附加至用戶端,則傳回 |
abstract
boolean
|
isValid()
傳回這個 |
abstract
void
|
kill()
Sends a kill message to the VM. |
abstract
void
|
listViewRoots(DebugViewDumpHandler replyHandler)
|
abstract
void
|
notifyVmMirrorExited()
偵錯工具 VM 鏡像可能會在 DDMLib 的後方退出,導致各種競爭或永久性 |
abstract
void
|
requestAllocationDetails()
向 VM 傳送要求,以傳送自呼叫 |
abstract
void
|
startMethodTracer()
|
abstract
void
|
startSamplingProfiler(int samplingInterval, TimeUnit timeUnit)
|
abstract
void
|
stopMethodTracer()
|
abstract
void
|
stopSamplingProfiler()
|
常數
CHANGE_DEBUGGER_STATUS
public static final int CHANGE_DEBUGGER_STATUS
用戶端變更位元遮罩:偵錯工具狀態變更
常數值: 2 (0x00000002)
CHANGE_HEAP_ALLOCATIONS
public static final int CHANGE_HEAP_ALLOCATIONS
用戶端變更位元遮罩:已更新分配資訊
常數值: 512 (0x00000200)
CHANGE_HEAP_ALLOCATION_STATUS
public static final int CHANGE_HEAP_ALLOCATION_STATUS
用戶端變更位元遮罩:已更新分配資訊
常數值: 1024 (0x00000400)
CHANGE_HEAP_DATA
public static final int CHANGE_HEAP_DATA
用戶端變更位元遮罩:已更新標題資料
常數值: 64 (0x00000040)
CHANGE_HEAP_MODE
public static final int CHANGE_HEAP_MODE
用戶端變更位元遮罩:堆積更新旗標變更
常數值: 32 (0x00000020)
CHANGE_HPROF
public static final int CHANGE_HPROF
用戶端變更位元遮罩:已更新 hprof 資料
常數值: 4096 (0x00001000)
CHANGE_INFO
public static final int CHANGE_INFO
用戶端變更位元遮罩:Client.CHANGE_NAME、CHANGE_DEBUGGER_STATUS 和 Client.CHANGE_PORT 的組合。
常數值: 7 (0x00000007)
CHANGE_METHOD_PROFILING_STATUS
public static final int CHANGE_METHOD_PROFILING_STATUS
用戶端變更位元遮罩:已更新分配資訊
常數值: 2048 (0x00000800)
CHANGE_NAME
public static final int CHANGE_NAME
用戶端變更位元遮罩:應用程式名稱變更
常數值: 1 (0x00000001)
CHANGE_NATIVE_HEAP_DATA
public static final int CHANGE_NATIVE_HEAP_DATA
用戶端變更位元遮罩:已更新原生堆積資料
常數值: 128 (0x00000080)
CHANGE_PORT
public static final int CHANGE_PORT
用戶端變更位元遮罩:偵錯工具通訊埠變更
常數值: 4 (0x00000004)
CHANGE_THREAD_DATA
public static final int CHANGE_THREAD_DATA
用戶端變更位元遮罩:已更新執行緒資料
常數值: 16 (0x00000010)
CHANGE_THREAD_MODE
public static final int CHANGE_THREAD_MODE
用戶端變更位元遮罩:執行緒更新旗標變更
常數值: 8 (0x00000008)
CHANGE_THREAD_STACKTRACE
public static final int CHANGE_THREAD_STACKTRACE
用戶端變更位元遮罩:已更新執行緒堆疊追蹤
常數值: 256 (0x00000100)
SERVER_PROTOCOL_VERSION
public static final int SERVER_PROTOCOL_VERSION
常數值: 1 (0x00000001)
公用方法
captureView
public abstract void captureView (String viewRoot,
String view,
DebugViewDumpHandler handler)| 參數 | |
|---|---|
viewRoot |
String |
view |
String |
handler |
DebugViewDumpHandler |
dumpDisplayList
public abstract void dumpDisplayList (String viewRoot,
String view)| 參數 | |
|---|---|
viewRoot |
String |
view |
String |
dumpViewHierarchy
public abstract void dumpViewHierarchy (String viewRoot,
boolean skipChildren,
boolean includeProperties,
boolean useV2,
DebugViewDumpHandler handler)| 參數 | |
|---|---|
viewRoot |
String |
skipChildren |
boolean |
includeProperties |
boolean |
useV2 |
boolean |
handler |
DebugViewDumpHandler |
enableAllocationTracker
public abstract void enableAllocationTracker (boolean enabled)
為這個用戶端啟用或停用分配追蹤器。
如果啟用,虛擬機器就會開始追蹤分配資訊。呼叫 requestAllocationDetails() 會讓 VM 傳送啟用和要求之間發生的所有分配作業相關資訊。
| 參數 | |
|---|---|
enabled |
boolean |
executeGarbageCollector
public abstract void executeGarbageCollector ()
強制用戶端執行垃圾收集器。
getDebuggerListenPort
public abstract int getDebuggerListenPort ()
傳回這個用戶端的偵錯工具連接埠。
| 傳回 | |
|---|---|
int |
|
isDdmAware
public abstract boolean isDdmAware ()
如果用戶端 VM 可感知 DDM,則傳回 true。
建立連線後,才能在這裡進行呼叫。
| 傳回 | |
|---|---|
boolean |
|
isDebuggerAttached
public abstract boolean isDebuggerAttached ()
如果偵錯工具目前已附加至用戶端,則傳回 true。
| 傳回 | |
|---|---|
boolean |
|
kill
public abstract void kill ()
將終止訊息傳送至 VM。如果 VM 處於當機狀態,這個方法不一定有效。
listViewRoots
public abstract void listViewRoots (DebugViewDumpHandler replyHandler)
| 參數 | |
|---|---|
replyHandler |
DebugViewDumpHandler |
notifyVmMirrorExited
public abstract void notifyVmMirrorExited ()
偵錯工具 VM 鏡像可能會在 DDMLib 的後方退出,導致各種競爭或永久性Client遺失情況。我們需要通知 DDMLib,目前附加的偵錯工具正在結束並終止其 VM 鏡像連線。
requestAllocationDetails
public abstract void requestAllocationDetails ()
向 VM 傳送要求,以傳送自呼叫 enableAllocationTracker(boolean) (enable 設為 null) 以來發生的所有分配作業相關資訊。這是非同步作業。
您可以透過 ClientData.getAllocations() 存取分配資訊。系統會透過 AndroidDebugBridge.clientChanged(com.android.tradefed.device.server.ClientImpl, int) 傳送通知,告知您有新資料可用,其中包含遮罩 CHANGE_HEAP_ALLOCATIONS 的
changeMask。
startMethodTracer
public abstract void startMethodTracer ()
startSamplingProfiler
public abstract void startSamplingProfiler (int samplingInterval,
TimeUnit timeUnit)| 參數 | |
|---|---|
samplingInterval |
int |
timeUnit |
TimeUnit |
stopMethodTracer
public abstract void stopMethodTracer ()
stopSamplingProfiler
public abstract void stopSamplingProfiler ()