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


힙 상태 업데이트를 처리합니다.

요약

상수

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

필드

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

공개 메서드

void clientDisconnected(ClientImpl client)

클라이언트가 종료되었습니다.

void clientReady(ClientImpl client)

클라이언트가 준비되었습니다.

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

청크 핸들러 진입점입니다.

static void register(MonitorThread mt)

클라이언트로부터 수신할 것으로 예상되는 패킷을 등록합니다.

static void sendHPDS(ClientImpl client)

클라이언트에 HPDS 요청을 전송합니다.

static void sendHPDU(ClientImpl client, String fileName)

클라이언트에 HPDU 요청을 전송합니다.

static void sendHPGC(ClientImpl client)

클라이언트에 HPGC 요청을 전송합니다.

static void sendHPIF(ClientImpl client, int when)

클라이언트에 HPIF (HeaP InFo) 요청을 보냅니다.

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

클라이언트에 HPSG (HeaP SeGment) 요청을 전송합니다.

static void sendREAE(ClientImpl client, boolean enable)

클라이언트에 REAE (최근 할당 사용 설정) 요청을 전송합니다.

static void sendREAL(ClientImpl client)

클라이언트에 실제 (최근 할당) 요청을 전송합니다.

static void sendREAQ(ClientImpl client)

클라이언트에 REAQ (최근 할당 쿼리) 요청을 전송합니다.

상수

HPIF_WHEN_EVERY_GC

public static final int HPIF_WHEN_EVERY_GC

상수 값: 3 (0x00000003)

HPIF_WHEN_NEVER

public static final int HPIF_WHEN_NEVER

상수 값: 0 (0x00000000)

HPIF_WHEN_NEXT_GC

public static final int HPIF_WHEN_NEXT_GC

상수 값: 2 (0x00000002)

HPIF_WHEN_NOW

public static final int HPIF_WHEN_NOW

상수 값: 1 (0x00000001)

WHAT_MERGE

public static final int WHAT_MERGE

상수 값: 0 (0x00000000)

WHAT_OBJ

public static final int WHAT_OBJ

상수 값: 1 (0x00000001)

WHEN_DISABLE

public static final int WHEN_DISABLE

상수 값: 0 (0x00000000)

WHEN_GC

public static final int WHEN_GC

상수 값: 1 (0x00000001)

필드

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

공개 메서드

clientDisconnected

public void clientDisconnected (ClientImpl client)

클라이언트가 종료되었습니다.

매개변수
client ClientImpl

clientReady

public void clientReady (ClientImpl client)

클라이언트가 준비되었습니다.

매개변수
client ClientImpl

handleChunk

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

청크 핸들러 진입점입니다.

매개변수
client ClientImpl

type int

data ByteBuffer

isReply boolean

msgId int

register

public static void register (MonitorThread mt)

클라이언트로부터 수신할 것으로 예상되는 패킷을 등록합니다.

매개변수
mt MonitorThread

sendHPDS

public static void sendHPDS (ClientImpl client)

클라이언트에 HPDS 요청을 전송합니다.

힙 덤프가 완료되면 HPDS 응답이 표시됩니다. 실패 시 일반적인 실패 응답이 표시됩니다.

이는 임시 파일로 스풀링되는 대신 전체 힙 덤프가 RAM에 저장되므로 HPDU보다 기기에 더 많은 비용이 듭니다. 반면 /sdcard에 쓰기 권한은 필요하지 않습니다.

매개변수
client ClientImpl

sendHPDU

public static void sendHPDU (ClientImpl client, 
                String fileName)

클라이언트에 HPDU 요청을 전송합니다.

힙 덤프가 완료되면 HPDU 응답이 전송됩니다. 실패 시 일반적인 실패 응답이 표시됩니다.

매개변수
client ClientImpl

fileName String: 출력 파일 이름 (기기)

sendHPGC

public static void sendHPGC (ClientImpl client)

클라이언트에 HPGC 요청을 전송합니다.

매개변수
client ClientImpl

sendHPIF

public static void sendHPIF (ClientImpl client, 
                int when)

클라이언트에 HPIF (HeaP InFo) 요청을 보냅니다.

매개변수
client ClientImpl

when int

sendHPSG

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

클라이언트에 HPSG (HeaP SeGment) 요청을 전송합니다.

매개변수
client ClientImpl

when int

what int

sendREAE

public static void sendREAE (ClientImpl client, 
                boolean enable)

클라이언트에 REAE (최근 할당 사용 설정) 요청을 전송합니다.

매개변수
client ClientImpl

enable boolean

sendREAL

public static void sendREAL (ClientImpl client)

클라이언트에 실제 (최근 할당) 요청을 전송합니다.

매개변수
client ClientImpl

sendREAQ

public static void sendREAQ (ClientImpl client)

클라이언트에 REAQ (최근 할당 쿼리) 요청을 전송합니다.

매개변수
client ClientImpl