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