客户

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

客户端更改位掩码:Client.CHANGE_NAMECHANGE_DEBUGGER_STATUSClient.CHANGE_PORT 的组合。

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()

返回包含相应客户端信息的 ClientData 对象。

abstract int getDebuggerListenPort()

返回相应客户端的调试器端口。

abstract IDevice getDevice()

返回此客户端运行的 IDevice

abstract boolean isDdmAware()

如果客户端虚拟机支持 DDM,则返回 true

abstract boolean isDebuggerAttached()

如果调试器当前已附加到客户端,则返回 true

abstract boolean isValid()

返回此 ClientImpl 是否与应用虚拟机建立了有效连接。

abstract void kill()

向虚拟机发送终止消息。

abstract void listViewRoots(DebugViewDumpHandler replyHandler)
abstract void notifyVmMirrorExited()

调试器虚拟机镜像可能会在 DDMLib 不知情的情况下退出,从而导致各种竞态条件或永久性丢失情况。 Client

abstract void requestAllocationDetails()

向虚拟机发送请求,以发送自调用 enableAllocationTracker(boolean) 以来发生的所有分配的相关信息,其中 enable 设置为 null

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_NAMECHANGE_DEBUGGER_STATUSClient.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 ()

强制客户端执行其垃圾回收器。

getClientData

public abstract ClientData getClientData ()

返回包含相应客户端信息的 ClientData 对象。

返回
ClientData

getDebuggerListenPort

public abstract int getDebuggerListenPort ()

返回相应客户端的调试器端口。

返回
int

getDevice

public abstract IDevice getDevice ()

返回此客户端运行的 IDevice

返回
IDevice

isDdmAware

public abstract boolean isDdmAware ()

如果客户端虚拟机支持 DDM,则返回 true

只有在连接建立后,才能在此处进行调用。

返回
boolean

isDebuggerAttached

public abstract boolean isDebuggerAttached ()

如果调试器当前已附加到客户端,则返回 true

返回
boolean

isValid

public abstract boolean isValid ()

返回此 ClientImpl 是否与应用虚拟机建立了有效连接。

返回
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 ()