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


Gestire gli aggiornamenti dello stato dell'heap.

Riepilogo

Costanti

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

Campi

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

Metodi pubblici

void clientDisconnected(ClientImpl client)

Il client è stato chiuso.

void clientReady(ClientImpl client)

Il client è pronto.

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

Punto di ingresso del gestore dei chunk.

static void register(MonitorThread mt)

Registra i pacchetti che prevediamo di ricevere dal client.

static void sendHPDS(ClientImpl client)

Invia una richiesta HPDS al client.

static void sendHPDU(ClientImpl client, String fileName)

Invia una richiesta HPDU al client.

static void sendHPGC(ClientImpl client)

Invia una richiesta HPGC al client.

static void sendHPIF(ClientImpl client, int when)

Invia una richiesta HPIF (HeaP InFo) al client.

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

Invia una richiesta HPSG (HeaP SeGment) al client.

static void sendREAE(ClientImpl client, boolean enable)

Invia una richiesta REAE (REcent Allocation Enable) al cliente.

static void sendREAL(ClientImpl client)

Invia una richiesta REAL (REcent ALlocation) al client.

static void sendREAQ(ClientImpl client)

Invia una richiesta REAQ (REcent Allocation Query) al client.

Costanti

HPIF_WHEN_EVERY_GC

public static final int HPIF_WHEN_EVERY_GC

Valore costante: 3 (0x00000003)

HPIF_WHEN_NEVER

public static final int HPIF_WHEN_NEVER

Valore costante: 0 (0x00000000)

HPIF_WHEN_NEXT_GC

public static final int HPIF_WHEN_NEXT_GC

Constant Value: 2 (0x00000002)

HPIF_WHEN_NOW

public static final int HPIF_WHEN_NOW

Constant Value: 1 (0x00000001)

WHAT_MERGE

public static final int WHAT_MERGE

Valore costante: 0 (0x00000000)

WHAT_OBJ

public static final int WHAT_OBJ

Constant Value: 1 (0x00000001)

WHEN_DISABLE

public static final int WHEN_DISABLE

Valore costante: 0 (0x00000000)

WHEN_GC

public static final int WHEN_GC

Constant Value: 1 (0x00000001)

Campi

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

Metodi pubblici

clientDisconnected

public void clientDisconnected (ClientImpl client)

Il client è stato chiuso.

Parametri
client ClientImpl

clientReady

public void clientReady (ClientImpl client)

Il client è pronto.

Parametri
client ClientImpl

handleChunk

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

Punto di ingresso del gestore dei chunk.

Parametri
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int

registrare

public static void register (MonitorThread mt)

Registra i pacchetti che prevediamo di ricevere dal client.

Parametri
mt MonitorThread

sendHPDS

public static void sendHPDS (ClientImpl client)

Invia una richiesta HPDS al client.

Riceveremo una risposta HPDS al termine del dump dell'heap. In caso di errore, riceviamo una risposta di errore generico.

Questa operazione è più costosa per il dispositivo rispetto a HPDU, perché l'intero dump dell'heap viene memorizzato nella RAM anziché in un file temporaneo. D'altra parte, non è richiesta l'autorizzazione di scrittura in /sdcard.

Parametri
client ClientImpl

sendHPDU

public static void sendHPDU (ClientImpl client, 
                String fileName)

Invia una richiesta HPDU al client.

Riceveremo una risposta HPDU al termine del dump dell'heap. In caso di errore, riceviamo una risposta di errore generico.

Parametri
client ClientImpl

fileName String: nome del file di output (sul dispositivo)

sendHPGC

public static void sendHPGC (ClientImpl client)

Invia una richiesta HPGC al client.

Parametri
client ClientImpl

sendHPIF

public static void sendHPIF (ClientImpl client, 
                int when)

Invia una richiesta HPIF (HeaP InFo) al client.

Parametri
client ClientImpl

when int

sendHPSG

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

Invia una richiesta HPSG (HeaP SeGment) al client.

Parametri
client ClientImpl

when int

what int

sendREAE

public static void sendREAE (ClientImpl client, 
                boolean enable)

Invia una richiesta REAE (REcent Allocation Enable) al cliente.

Parametri
client ClientImpl

enable boolean

sendREAL

public static void sendREAL (ClientImpl client)

Invia una richiesta REAL (REcent ALlocation) al client.

Parametri
client ClientImpl

sendREAQ

public static void sendREAQ (ClientImpl client)

Invia una richiesta REAQ (REcent Allocation Query) al client.

Parametri
client ClientImpl