客户
public
interface
Client
| com.android.tradefed.device.server.Client |
这表示单个客户端,通常是 Dalvik 虚拟机进程。
此类可用于访问基本客户端信息,以及对客户端执行操作的方法。
如需了解更详细的信息(通常会实时更新),请访问 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()
返回此客户端运行的 |
abstract
boolean
|
isDdmAware()
如果客户端虚拟机支持 DDM,则返回 |
abstract
boolean
|
isDebuggerAttached()
如果调试器当前已附加到客户端,则返回 |
abstract
boolean
|
isValid()
返回此 |
abstract
void
|
kill()
向虚拟机发送终止消息。 |
abstract
void
|
listViewRoots(DebugViewDumpHandler replyHandler)
|
abstract
void
|
notifyVmMirrorExited()
调试器虚拟机镜像可能会在 DDMLib 不知情的情况下退出,从而导致各种竞态条件或永久性丢失情况。
|
abstract
void
|
requestAllocationDetails()
向虚拟机发送请求,以发送自调用 |
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)
更改端口
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() 的调用将使虚拟机发送有关启用和请求之间发生的所有分配的信息。
| 参数 | |
|---|---|
enabled |
boolean |
executeGarbageCollector
public abstract void executeGarbageCollector ()
强制客户端执行其垃圾回收器。
getDebuggerListenPort
public abstract int getDebuggerListenPort ()
返回相应客户端的调试器端口。
| 返回 | |
|---|---|
int |
|
isDdmAware
public abstract boolean isDdmAware ()
如果客户端虚拟机支持 DDM,则返回 true。
只有在连接建立后,才能在此处进行调用。
| 返回 | |
|---|---|
boolean |
|
isDebuggerAttached
public abstract boolean isDebuggerAttached ()
如果调试器当前已附加到客户端,则返回 true。
| 返回 | |
|---|---|
boolean |
|
终止
public abstract void kill ()
向虚拟机发送终止消息。如果虚拟机处于崩溃状态,此方法不一定有效。
listViewRoots
public abstract void listViewRoots (DebugViewDumpHandler replyHandler)
| 参数 | |
|---|---|
replyHandler |
DebugViewDumpHandler |
notifyVmMirrorExited
public abstract void notifyVmMirrorExited ()
调试器虚拟机镜像可能会在 DDMLib 背后退出,从而导致各种竞态条件或永久性丢失情况。Client我们需要通知 DDMLib,当前附加的调试器正在退出并终止其虚拟机镜像连接。
requestAllocationDetails
public abstract void requestAllocationDetails ()
向虚拟机发送请求,以发送自调用 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 ()