W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
使用hidebug,可以獲取應(yīng)用內(nèi)存的使用情況,包括應(yīng)用進(jìn)程的靜態(tài)堆內(nèi)存(native heap)信息、應(yīng)用進(jìn)程內(nèi)存占用PSS(Proportional Set Size)信息等;可以完成虛擬機(jī)內(nèi)存切片導(dǎo)出,虛擬機(jī)CPU Profiling采集等操作。
getNativeHeapSize(): bigint
獲取本應(yīng)用堆內(nèi)存的總大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回本應(yīng)用堆內(nèi)存總大小,單位為Byte。 |
示例:
- let nativeHeapSize = hidebug.getNativeHeapSize();
getNativeHeapAllocatedSize(): bigint
獲取本應(yīng)用堆內(nèi)存的已分配內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回本應(yīng)用堆內(nèi)存的已分配內(nèi)存,單位為Byte。 |
示例:
- let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize();
getNativeHeapFreeSize(): bigint
獲取本應(yīng)用堆內(nèi)存的空閑內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回本應(yīng)用堆內(nèi)存的空閑內(nèi)存,單位為Byte。 |
示例:
- let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize();
getPss(): bigint
獲取應(yīng)用進(jìn)程實(shí)際使用的物理內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回應(yīng)用進(jìn)程實(shí)際使用的物理內(nèi)存大小,單位為kB。 |
示例:
- let pss = hidebug.getPss();
getSharedDirty(): bigint
獲取進(jìn)程的共享臟內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回進(jìn)程的共享臟內(nèi)存大小,單位為kB。 |
示例:
- let sharedDirty = hidebug.getSharedDirty();
getPrivateDirty(): bigint
獲取進(jìn)程的私有臟內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回進(jìn)程的私有臟內(nèi)存大小,單位為kB。 |
示例:
- let privateDirty = hidebug.getPrivateDirty();
getCpuUsage(): number
獲取進(jìn)程的CPU使用率。
如占用率為50%,則返回0.5。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
number | 獲取進(jìn)程的CPU使用率。 |
示例:
- let cpuUsage = hidebug.getCpuUsage();
getServiceDump(serviceid : number, fd : number, args : Array<string>) : void
獲取系統(tǒng)服務(wù)信息。
需要權(quán)限: ohos.permission.DUMP
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
serviceid | number | 是 | 基于該用戶輸入的service id獲取系統(tǒng)服務(wù)信息。 |
fd | number | 是 | 文件描述符,該接口會往該fd中寫入數(shù)據(jù)。 |
args | Array<string> | 是 | 系統(tǒng)服務(wù)的Dump接口所對應(yīng)的參數(shù)列表。 |
示例:
- import fileio from '@ohos.fileio'
- import hidebug from '@ohos.hidebug'
- import featureAbility from '@ohos.ability.featureAbility'
- let context = featureAbility.getContext();
- context.getFilesDir().then((data) => {
- var path = data + "/serviceInfo.txt"
- console.info("output path: " + path)
- let fd = fileio.openSync(path, 0o102, 0o666)
- var serviceId = 10
- var args = new Array("allInfo")
- try {
- hidebug.getServiceDump(serviceId, fd, args)
- } catch (error) {
- console.info(error.code)
- console.info(error.message)
- }
- fileio.closeSync(fd);
- })
startJsCpuProfiling(filename : string) : void
啟動虛擬機(jī)Profiling方法跟蹤,startJsCpuProfiling()方法的調(diào)用需要與stopJsCpuProfiling()方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop,start->stop->stop,start->start->stop->stop等類似的順序調(diào)用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的profiling文件名,根據(jù)傳入的filename,將在應(yīng)用的files目錄生成filename.json文件。 |
示例:
- import hidebug from '@ohos.hidebug'
- try {
- hidebug.startJsCpuProfiling("cpu_profiling");
- // ...
- hidebug.stopJsCpuProfiling();
- } catch (error) {
- console.info(error.code)
- console.info(error.message)
- }
stopJsCpuProfiling() : void
停止虛擬機(jī)Profiling方法跟蹤,startJsCpuProfiling()方法的調(diào)用需要與stopJsCpuProfiling()方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop,start->stop->stop,start->start->stop->stop等類似的順序調(diào)用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的profiling文件名,根據(jù)傳入的filename,將在應(yīng)用的files目錄生成filename.json文件。 |
示例:
- import hidebug from '@ohos.hidebug'
- try {
- hidebug.startJsCpuProfiling("cpu_profiling");
- // ...
- hidebug.stopJsCpuProfiling();
- } catch (error) {
- console.info(error.code)
- console.info(error.message)
- }
dumpJsHeapData(filename : string) : void
虛擬機(jī)堆導(dǎo)出。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的虛擬機(jī)堆文件名,根據(jù)傳入的filename,將在應(yīng)用的files目錄生成filename.heapsnapshot文件。 |
示例:
- import hidebug from '@ohos.hidebug'
- try {
- hidebug.dumpJsHeapData("heapData");
- } catch (error) {
- console.info(error.code)
- console.info(error.message)
- }
startProfiling(filename : string) : void
從 API version 9 開始廢棄,建議使用hidebug.startJsCpuProfiling替代。
啟動虛擬機(jī)Profiling方法跟蹤,startProfiling()方法的調(diào)用需要與stopProfiling()方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop,start->stop->stop,start->start->stop->stop等類似的順序調(diào)用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的profiling文件名,根據(jù)傳入的filename,將在應(yīng)用的files目錄生成filename.json文件。 |
示例:
- hidebug.startProfiling("cpuprofiler-20220216");
- // code block
- // ...
- // code block
- hidebug.stopProfiling();
stopProfiling() : void
從 API version 9 開始廢棄,建議使用hidebug.stopJsCpuProfiling替代。
停止虛擬機(jī)Profiling方法跟蹤,stopProfiling()方法的調(diào)用需要與startProfiling()方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop,start->stop->stop,start->start->stop->stop等類似的順序調(diào)用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
示例:
- hidebug.startProfiling("cpuprofiler-20220216");
- // code block
- // ...
- // code block
- hidebug.stopProfiling();
dumpHeapData(filename : string) : void
從 API version 9 開始廢棄,建議使用hidebug.dumpJsHeapData替代。
虛擬機(jī)堆導(dǎo)出。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的虛擬機(jī)堆文件名,根據(jù)傳入的filename,將在應(yīng)用的files目錄生成filename.heapsnapshot文件。 |
示例:
- hidebug.dumpHeapData("heap-20220216");
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: