HandleHeap

public final class HandleHeap
extends ChunkHandler

java.lang.Object
   ↳ com.android.tradefed.device.server.jdwp.JdwpInterceptor
     ↳ com.android.tradefed.device.server.jdwp.chunkhandler.ChunkHandler
       ↳ com.android.tradefed.device.server.jdwp.chunkhandler.HandleHeap


Processa atualizações de status de heap.

Resumo

Constantes

int HPIF_WHEN_EVERY_GC

int HPIF_WHEN_NEVER

int HPIF_WHEN_NEXT_GC

int HPIF_WHEN_NOW

int WHAT_MERGE

int WHAT_OBJ

int WHEN_DISABLE

int WHEN_GC

Campos

public static final int CHUNK_HPDS

public static final int CHUNK_HPDU

public static final int CHUNK_HPEN

public static final int CHUNK_HPGC

public static final int CHUNK_HPIF

public static final int CHUNK_HPSG

public static final int CHUNK_HPST

public static final int CHUNK_REAE

public static final int CHUNK_REAL

public static final int CHUNK_REAQ

Métodos públicos

void clientDisconnected(ClientImpl client)

O cliente saiu.

void clientReady(ClientImpl client)

O cliente está pronto.

void handleChunk(ClientImpl client, int type, ByteBuffer data, boolean isReply, int msgId)

Ponto de entrada do gerenciador de partes.

static void register(MonitorThread mt)

Registre os pacotes que esperamos receber do cliente.

static void sendHPDS(ClientImpl client)

Envia uma solicitação HPDS ao cliente.

static void sendHPDU(ClientImpl client, String fileName)

Envia uma solicitação de HPDU ao cliente.

static void sendHPGC(ClientImpl client)

Envia uma solicitação HPGC ao cliente.

static void sendHPIF(ClientImpl client, int when)

Envie uma solicitação HPIF (HeaP InFo) ao cliente.

static void sendHPSG(ClientImpl client, int when, int what)

Envia uma solicitação HPSG (HeaP SeGment) ao cliente.

static void sendREAE(ClientImpl client, boolean enable)

Envia uma solicitação REAE (ativação de alocação recente) ao cliente.

static void sendREAL(ClientImpl client)

Envia uma solicitação REAL (REcent ALlocation) ao cliente.

static void sendREAQ(ClientImpl client)

Envia uma solicitação REAQ (consulta de alocação recente) ao cliente.

Constantes

HPIF_WHEN_EVERY_GC

public static final int HPIF_WHEN_EVERY_GC

Valor da constante: 3 (0x00000003)

HPIF_WHEN_NEVER

public static final int HPIF_WHEN_NEVER

Valor da constante: 0 (0x00000000)

HPIF_WHEN_NEXT_GC

public static final int HPIF_WHEN_NEXT_GC

Valor da constante: 2 (0x00000002)

HPIF_WHEN_NOW

public static final int HPIF_WHEN_NOW

Valor da constante: 1 (0x00000001)

WHAT_MERGE

public static final int WHAT_MERGE

Valor da constante: 0 (0x00000000)

WHAT_OBJ

public static final int WHAT_OBJ

Valor da constante: 1 (0x00000001)

WHEN_DISABLE

public static final int WHEN_DISABLE

Valor da constante: 0 (0x00000000)

WHEN_GC

public static final int WHEN_GC

Valor da constante: 1 (0x00000001)

Campos

CHUNK_HPDS

public static final int CHUNK_HPDS

CHUNK_HPDU

public static final int CHUNK_HPDU

CHUNK_HPEN

public static final int CHUNK_HPEN

CHUNK_HPGC

public static final int CHUNK_HPGC

CHUNK_HPIF

public static final int CHUNK_HPIF

CHUNK_HPSG

public static final int CHUNK_HPSG

CHUNK_HPST

public static final int CHUNK_HPST

CHUNK_REAE

public static final int CHUNK_REAE

CHUNK_REAL

public static final int CHUNK_REAL

CHUNK_REAQ

public static final int CHUNK_REAQ

Métodos públicos

clientDisconnected

public void clientDisconnected (ClientImpl client)

O cliente saiu.

Parâmetros
client ClientImpl

clientReady

public void clientReady (ClientImpl client)

O cliente está pronto.

Parâmetros
client ClientImpl

handleChunk

public void handleChunk (ClientImpl client, 
                int type, 
                ByteBuffer data, 
                boolean isReply, 
                int msgId)

Ponto de entrada do gerenciador de partes.

Parâmetros
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int

registrar

public static void register (MonitorThread mt)

Registre os pacotes que esperamos receber do cliente.

Parâmetros
mt MonitorThread

sendHPDS

public static void sendHPDS (ClientImpl client)

Envia uma solicitação HPDS ao cliente.

Vamos receber uma resposta do HPDS quando o despejo de heap for concluído. Em caso de falha, recebemos uma resposta de falha genérica.

Isso é mais caro para o dispositivo do que o HPDU, porque todo o despejo de heap é mantido na RAM em vez de ser armazenado em spool em um arquivo temporário. Por outro lado, não é necessário ter permissão para gravar em /sdcard.

Parâmetros
client ClientImpl

sendHPDU

public static void sendHPDU (ClientImpl client, 
                String fileName)

Envia uma solicitação de HPDU ao cliente.

Vamos receber uma resposta de HPDU quando o despejo de heap for concluído. Em caso de falha, recebemos uma resposta de falha genérica.

Parâmetros
client ClientImpl

fileName String: nome do arquivo de saída (no dispositivo)

sendHPGC

public static void sendHPGC (ClientImpl client)

Envia uma solicitação HPGC ao cliente.

Parâmetros
client ClientImpl

sendHPIF

public static void sendHPIF (ClientImpl client, 
                int when)

Envie uma solicitação HPIF (HeaP InFo) ao cliente.

Parâmetros
client ClientImpl

when int

sendHPSG

public static void sendHPSG (ClientImpl client, 
                int when, 
                int what)

Envia uma solicitação HPSG (HeaP SeGment) ao cliente.

Parâmetros
client ClientImpl

when int

what int

sendREAE

public static void sendREAE (ClientImpl client, 
                boolean enable)

Envia uma solicitação REAE (ativação de alocação recente) ao cliente.

Parâmetros
client ClientImpl

enable boolean

sendREAL

public static void sendREAL (ClientImpl client)

Envia uma solicitação REAL (REcent ALlocation) ao cliente.

Parâmetros
client ClientImpl

sendREAQ

public static void sendREAQ (ClientImpl client)

Envia uma solicitação REAQ (consulta de alocação recente) ao cliente.

Parâmetros
client ClientImpl