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)

Chunk handler entry point.

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 (REcent Allocation Enable) 要求傳送給用戶端。

static void sendREAL(ClientImpl client)

向用戶端傳送 REAL (REcent ALlocation) 要求。

static void sendREAQ(ClientImpl client)

將 REAQ (REcent Allocation Query) 要求傳送給用戶端。

常數

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

註冊

public static void register (MonitorThread mt)

註冊預期從用戶端取得的封包。

參數
mt MonitorThread

sendHPDS

public static void sendHPDS (ClientImpl client)

將 HPDS 要求傳送給用戶端。

堆積傾印完成後,我們會收到 HPDS 回應。如果失敗,我們會收到一般失敗回應。

與 HPDU 相比,這項作業的裝置成本較高,因為整個堆積傾印檔會保留在 RAM 中,而不是暫時存放在臨時檔案中。另一方面,寫入 /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 (REcent Allocation Enable) 要求傳送給用戶端。

參數
client ClientImpl

enable boolean

sendREAL

public static void sendREAL (ClientImpl client)

將 REAL (REcent ALlocation) 要求傳送給用戶端。

參數
client ClientImpl

sendREAQ

public static void sendREAQ (ClientImpl client)

向用戶端傳送 REAQ (最近分配查詢) 要求。

參數
client ClientImpl