openharmony 鸿蒙 capi-purgeable-memory-h

2026-08-25 浏览 (1)

purgeable_memory.h

概述

提供可丢弃内存的内存管理功能。
提供的功能包括创建、开始读取、结束读取、开始写入、结束写入、重建等。
使用时需要链接libpurgeable_memory_ndk.z.so。

引用文件: <purgeable_memory/purgeable_memory.h>

库: libpurgeable_memory_ndk.z.so

系统能力: SystemCapability.Kernel.Memory

起始版本: 10

相关模块: memory

汇总

结构体

名称typedef关键字描述
PurgMemOH_PurgeableMemory可清除的内存结构。

函数

名称typedef关键字描述
typedef bool (*OH_PurgeableMemory_ModifyFunc)(void *, size_t, void *)OH_PurgeableMemory_ModifyFunc函数指针,它指向一个用于构建可丢弃内存对象的内容的函数。
OH_PurgeableMemory *OH_PurgeableMemory_Create(size_t size, OH_PurgeableMemory_ModifyFunc func, void *funcPara)-创建一个PurgMem对象。
bool OH_PurgeableMemory_Destroy(OH_PurgeableMemory *purgObj)-销毁PurgMem对象。
bool OH_PurgeableMemory_BeginRead(OH_PurgeableMemory *purgObj)-开始读取PurgMem
void OH_PurgeableMemory_EndRead(OH_PurgeableMemory *purgObj)-结束读取PurgMem
bool OH_PurgeableMemory_BeginWrite(OH_PurgeableMemory *purgObj)-开始修改PurgMem
void OH_PurgeableMemory_EndWrite(OH_PurgeableMemory *purgObj)-结束修改PurgMem
void *OH_PurgeableMemory_GetContent(OH_PurgeableMemory *purgObj)-获取PurgMem的内容的指针。
size_t OH_PurgeableMemory_ContentSize(OH_PurgeableMemory *purgObj)-获取PurgMem对象的内容大小。
bool OH_PurgeableMemory_AppendModify(OH_PurgeableMemory *purgObj, OH_PurgeableMemory_ModifyFunc func, void *funcPara)-将修改附加到PurgMem

函数说明

OH_PurgeableMemory_ModifyFunc()

typedef bool (*OH_PurgeableMemory_ModifyFunc)(void *, size_t, void *)

描述

函数指针,它指向一个用于构建可丢弃内存对象的内容的函数。

起始版本: 10

参数:

参数项描述
void *数据指针,指向可丢弃内存对象的内容的起始地址。
size_t内容的数据大小。
void *其他私有参数。

返回:

类型说明
bool返回构建内容是否成功。true表示成功;false表示失败。

OH_PurgeableMemory_Create()

OH_PurgeableMemory *OH_PurgeableMemory_Create(size_t size, OH_PurgeableMemory_ModifyFunc func, void *funcPara)

描述

创建一个PurgMem对象。

起始版本: 10

参数:

参数项描述
size_t size可丢弃内存对象内容的数据大小。
OH_PurgeableMemory_ModifyFunc func函数指针,用于在可丢弃内存对象的内容被清除时恢复数据。
void *funcPara@func 使用的参数。

返回:

类型说明
OH_PurgeableMemory *可丢弃内存对象。

OH_PurgeableMemory_Destroy()

bool OH_PurgeableMemory_Destroy(OH_PurgeableMemory *purgObj)

描述

销毁PurgMem对象。

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj待销毁的可丢弃内存对象。

返回:

类型说明
bool返回销毁是否成功,true表示成功,false表示失败。如果可丢弃内存对象为NULL,则返回true。
如果销毁成功,返回true,可丢弃内存对象将被设置为NULL以避免Use-After-Free。

OH_PurgeableMemory_BeginRead()

bool OH_PurgeableMemory_BeginRead(OH_PurgeableMemory *purgObj)

描述

开始读取PurgMem

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。

返回:

类型说明
bool返回读取是否成功,如果可丢弃内存对象的内容存在则返回true。
如果内容被清除(即不存在),系统将尝试恢复其数据。
如果恢复失败,则返回false。
如果恢复成功,则返回true。
当此函数返回true时,系统无法回收可丢弃内存对象的内容的内存,直到调用OH_PurgeableMemory_EndRead()

OH_PurgeableMemory_EndRead()

void OH_PurgeableMemory_EndRead(OH_PurgeableMemory *purgObj)

描述

结束读取PurgMem

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。当此函数执行结束,操作系统可能会稍后回收可丢弃内存对象的内容的内存。

OH_PurgeableMemory_BeginWrite()

bool OH_PurgeableMemory_BeginWrite(OH_PurgeableMemory *purgObj)

描述

开始修改PurgMem

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。

返回:

类型说明
bool表示可丢弃内存对象的内容是否存在,如果可丢弃内存对象的内容存在则返回 true。
如果内容被清除(不存在),系统将恢复其数据,
如果内容被清除并且恢复失败,则返回 false。
如果内容恢复成功则返回 true。
当此函数返回true时,操作系统无法回收可丢弃内存对象的内容的内存,直到调用 OH_PurgeableMemory_EndWrite()

OH_PurgeableMemory_EndWrite()

void OH_PurgeableMemory_EndWrite(OH_PurgeableMemory *purgObj)

描述

结束修改PurgMem

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。当此函数执行结束时,操作系统可能会稍后回收可丢弃内存对象的内容的内存。

OH_PurgeableMemory_GetContent()

void *OH_PurgeableMemory_GetContent(OH_PurgeableMemory *purgObj)

描述

获取PurgMem的内容的指针。

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。

返回:

类型说明
void *返回可丢弃内存对象的内容的起始地址。
如果可丢弃内存对象为NULL,则返回NULL。
此函数应受OH_PurgeableMemory_BeginRead()/OH_PurgeableMemory_EndRead()或者OH_PurgeableMemory_BeginWrite()/OH_PurgeableMemory_EndWrite()保护

OH_PurgeableMemory_ContentSize()

size_t OH_PurgeableMemory_ContentSize(OH_PurgeableMemory *purgObj)

描述

获取PurgMem对象的内容大小。

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。

返回:

类型说明
size_t返回可丢弃内存对象的内容的大小。
如果可丢弃内存对象为NULL,则返回0。

OH_PurgeableMemory_AppendModify()

bool OH_PurgeableMemory_AppendModify(OH_PurgeableMemory *purgObj, OH_PurgeableMemory_ModifyFunc func, void *funcPara)

描述

将修改附加到PurgMem

起始版本: 10

参数:

参数项描述
OH_PurgeableMemory *purgObj可丢弃内存对象。
OH_PurgeableMemory_ModifyFunc func函数指针,用于修改可丢弃内存对象的内容。
void *funcPara@func 使用的参数。

返回:

类型说明
bool返回追加结果。true表示成功;false表示失败。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 capi-jsvm-jsvm-vminfo

openharmony 鸿蒙 capi-memory

openharmony 鸿蒙 js-apis-syscap

openharmony 鸿蒙 capi-memory-purgmem

openharmony 鸿蒙 capi-jsvm-jsvm-callbackstruct8h

openharmony 鸿蒙 capi-jsvm-jsvm-deserializeresult

openharmony 鸿蒙 capi-jsvm-jsvm-propertydescriptor

openharmony 鸿蒙 js-apis-common-load-native-module

openharmony 鸿蒙 capi-jsvm-jsvm-cpuprofiler--8h

openharmony 鸿蒙 capi-jsvm-jsvm-codecache

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/rr3uxQp8