日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSAshmem

Ashmem

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供鐘樓企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、H5開(kāi)發(fā)、小程序制作等業(yè)務(wù)。10年已為鐘樓眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

java.lang.Object

|---ohos.utils.Ashmem

public class Ashmem
extends Object

提供與匿名共享內(nèi)存(Ashmem)相關(guān)的方法,包括創(chuàng)建、關(guān)閉、映射和取消映射Ashmem,從Ashmem讀取數(shù)據(jù)和向Ashmem寫(xiě)入數(shù)據(jù),獲取Ashmem大小,為Ashmem設(shè)置保護(hù)。

Ashmem 是由一個(gè)進(jìn)程創(chuàng)建的。 您可以將創(chuàng)建的 Ashmem 對(duì)象映射到當(dāng)前進(jìn)程以讀取和寫(xiě)入數(shù)據(jù)。 或者,您可以將此 Ashmem 對(duì)象傳輸并映射到另一個(gè)進(jìn)程以進(jìn)行數(shù)據(jù)讀取和寫(xiě)入。 您需要確保多個(gè)進(jìn)程之間并發(fā)讀寫(xiě)操作的時(shí)序。

字段摘要

修飾符和類(lèi)型 字段 描述
static int PROT_EXEC 表示可以執(zhí)行 Ashmem 對(duì)象中的數(shù)據(jù)。
static int PROT_NONE 表示 Ashmem 對(duì)象中的數(shù)據(jù)無(wú)法讀取、寫(xiě)入或執(zhí)行。
static int PROT_READ 表示可以讀取 Ashmem 對(duì)象中的數(shù)據(jù)。
static int PROT_WRITE 表示可以寫(xiě)入 Ashmem 對(duì)象中的數(shù)據(jù)。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
Ashmem(long nativeObject)

方法總結(jié)

修飾符和類(lèi)型 方法 描述
void closeAshmem() 關(guān)閉此 Ashmem。
static Ashmem createAshmem(String name, int size) 根據(jù)指定的調(diào)試名稱(chēng)和內(nèi)存大小創(chuàng)建 Ashmem 對(duì)象。
static Ashmem createAshmemFromExisting(long unwrappedNativeObject) 通過(guò)復(fù)制現(xiàn)有的 Ashmem 對(duì)象來(lái)創(chuàng)建 Ashmem 對(duì)象。
protected void finalize() 當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。
long getAshmemIdentity() 獲取 Ashmem 對(duì)象的身份。
int getAShmemSize() 獲取 Ashmem 對(duì)象的內(nèi)存大小。
boolean mapAshmem(int mapType) 使用指定的映射類(lèi)型將 Ashmem 對(duì)象映射到此進(jìn)程。
boolean mapReadAndWriteAShmem() 在 Ashmem 對(duì)象和此進(jìn)程之間創(chuàng)建讀/寫(xiě)映射。
boolean mapReadOnlyAShmem() 在 Ashmem 對(duì)象和此進(jìn)程之間創(chuàng)建只讀映射。
byte[] readFromAShmem(int size, int offset) 從 Ashmem 對(duì)象中讀取數(shù)據(jù)。
boolean setProtection(int protectionType) 設(shè)置 Ashmem 對(duì)象的保護(hù)類(lèi)型。
void unmapAShmem() 從此進(jìn)程中取消映射 Ashmem 對(duì)象。
boolean writeToAShmem(byte[] data, int size, int offset) 將數(shù)據(jù)寫(xiě)入 Ashmem 對(duì)象。
從類(lèi) java.lang.Object 繼承的方法
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細(xì)信息

PROT_EXEC

public static final int PROT_EXEC

表示可以執(zhí)行 Ashmem 對(duì)象中的數(shù)據(jù)。

它可用于設(shè)置 Ashmem 對(duì)象的保護(hù)或映射類(lèi)型。

PROT_NONE

public static final int PROT_NONE

表示 Ashmem 對(duì)象中的數(shù)據(jù)無(wú)法讀取、寫(xiě)入或執(zhí)行。

它可用于設(shè)置 Ashmem 對(duì)象的保護(hù)或映射類(lèi)型。

PROT_READ

public static final int PROT_READ

表示可以讀取 Ashmem 對(duì)象中的數(shù)據(jù)。

它可用于設(shè)置 Ashmem 對(duì)象的保護(hù)或映射類(lèi)型。

PROT_WRITE

public static final int PROT_WRITE

表示可以寫(xiě)入 Ashmem 對(duì)象中的數(shù)據(jù)。

它可用于設(shè)置 Ashmem 對(duì)象的保護(hù)或映射類(lèi)型。

構(gòu)造函數(shù)詳細(xì)信息

Ashmem

public Ashmem(long nativeObject)

方法詳情

createAshmem

public static Ashmem createAshmem(String name, int size)

根據(jù)指定的調(diào)試名稱(chēng)和內(nèi)存大小創(chuàng)建 Ashmem 對(duì)象。

調(diào)試名稱(chēng)僅用于在檢查已映射到此 Ashmem 的進(jìn)程的內(nèi)存映射時(shí)查詢(xún)有關(guān)此 Ashmem 的信息。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
name 調(diào)試名稱(chēng),方便查詢(xún)Ashmem信息。
size 指示 Ashmem 的大小。

返回:

返回創(chuàng)建的 Ashmem 對(duì)象; 如果創(chuàng)建失敗則返回 null。

createAshmemFromExisting

public static Ashmem createAshmemFromExisting(long unwrappedNativeObject)

通過(guò)復(fù)制現(xiàn)有的 Ashmem 對(duì)象來(lái)創(chuàng)建 Ashmem 對(duì)象。

兩個(gè) Ashmem 對(duì)象指向同一個(gè)共享內(nèi)存區(qū)域。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
unwrappedNativeObject 表示現(xiàn)有 Ashmem 對(duì)象的 ID。 您可以使用 getAshmemIdentity() 方法獲取 ID。

返回:

返回創(chuàng)建的 Ashmem 對(duì)象。

finalize

protected void finalize() throws Throwable

從類(lèi)復(fù)制的描述:對(duì)象

當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。子類(lèi)覆蓋 finalize 方法以釋放系統(tǒng)資源或執(zhí)行其他清理。

finalize 的一般約定是,當(dāng) Java? 虛擬機(jī)確定不再有任何方法可以讓任何尚未終止的線(xiàn)程訪(fǎng)問(wèn)該對(duì)象時(shí)調(diào)用它,除非是由于某個(gè)操作而導(dǎo)致的。由準(zhǔn)備完成的其他對(duì)象或類(lèi)的完成所采取。 finalize 方法可以采取任何行動(dòng),包括使該對(duì)象再次可供其他線(xiàn)程使用;然而,finalize 的通常目的是在對(duì)象被不可撤銷(xiāo)地丟棄之前執(zhí)行清理操作。例如,代表輸入/輸出連接的對(duì)象的 finalize 方法可能會(huì)執(zhí)行顯式 I/O 事務(wù)以在對(duì)象被永久丟棄之前中斷連接。

Object 類(lèi)的 finalize 方法不執(zhí)行任何特殊操作;它只是正常返回。 Object 的子類(lèi)可以覆蓋這個(gè)定義。

Java 編程語(yǔ)言不保證哪個(gè)線(xiàn)程將為任何給定對(duì)象調(diào)用 finalize 方法。但是,可以保證調(diào)用 finalize 的線(xiàn)程在調(diào)用 finalize 時(shí)不會(huì)持有任何用戶(hù)可見(jiàn)的同步鎖。如果 finalize 方法拋出未捕獲的異常,則忽略該異常并終止該對(duì)象的終結(jié)。

在為一個(gè)對(duì)象調(diào)用 finalize 方法后,不會(huì)采取進(jìn)一步的行動(dòng),直到 Java 虛擬機(jī)再次確定沒(méi)有任何方法可以讓任何尚未終止的線(xiàn)程訪(fǎng)問(wèn)該對(duì)象,包括可能的行動(dòng)由其他準(zhǔn)備完成的對(duì)象或類(lèi),此時(shí)該對(duì)象可能被丟棄。

對(duì)于任何給定的對(duì)象,Java 虛擬機(jī)永遠(yuǎn)不會(huì)多次調(diào)用 finalize 方法。

finalize 方法拋出的任何異常都會(huì)導(dǎo)致該對(duì)象的終結(jié)被暫停,否則會(huì)被忽略。

覆蓋:

在類(lèi) Object 中完成

Throws:

Throw名稱(chēng) Throw描述
Throwable 此方法引發(fā)的異常

closeAshmem

public void closeAshmem()

關(guān)閉此 Ashmem。

通過(guò)createAshmem(java.lang.String,int)創(chuàng)建的Ashmem對(duì)象不再需要時(shí),必須調(diào)用該方法及時(shí)關(guān)閉,防止內(nèi)存泄漏。

mapAshmem

public boolean mapAshmem(int mapType)

使用指定的映射類(lèi)型將 Ashmem 對(duì)象映射到此進(jìn)程。

在使用 Ashmem 讀寫(xiě)數(shù)據(jù)之前,必須調(diào)用該方法將 Ashmem 對(duì)象映射到該進(jìn)程上。 映射大小是Ashmem對(duì)象的總內(nèi)存大小,映射從Ashmem的起始位置開(kāi)始。 映射類(lèi)型必須包含在為此 Ashmem 對(duì)象設(shè)置的保護(hù)類(lèi)型中。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
mapType 指示要使用的映射類(lèi)型。 該值是 PROT_READ(可讀/不可讀)、PROT_WRITE(可寫(xiě)/不可寫(xiě))、PROT_EXEC(可執(zhí)行/不可執(zhí)行)或 PROT_NONE 的按位或組合。

返回:

如果映射成功,則返回 true; 否則返回 false。

mapReadAndWriteAShmem

public boolean mapReadAndWriteAShmem()

在 Ashmem 對(duì)象和此進(jìn)程之間創(chuàng)建讀/寫(xiě)映射。

映射大小是Ashmem對(duì)象的總內(nèi)存大小,映射從Ashmem的起始位置開(kāi)始。 調(diào)用該方法時(shí),確保Ashmem對(duì)象的保護(hù)類(lèi)型包括PROT_READ | PROT_WRITE。

返回:

如果映射成功,則返回 true; 否則返回 false。

mapReadOnlyAShmem

public boolean mapReadOnlyAShmem()

在 Ashmem 對(duì)象和此進(jìn)程之間創(chuàng)建只讀映射。

映射大小是Ashmem對(duì)象的總內(nèi)存大小,映射從Ashmem的起始位置開(kāi)始。 調(diào)用此方法時(shí),請(qǐng)確保 Ashmem 對(duì)象的保護(hù)類(lèi)型包括 PROT_READ。

返回:

如果映射成功,則返回 true; 否則返回 false。

unmapAShmem

public void unmapAShmem()

從此進(jìn)程中取消映射 Ashmem 對(duì)象。

在您使用完通過(guò) mapAshmem(int)、mapReadAndWriteAshmem 或 mapReadOnlyAshmem 映射到您的進(jìn)程的 Ashmem 后,您必須調(diào)用此方法取消映射以防止內(nèi)存泄漏。 如果需要,您可以再次創(chuàng)建映射。

setProtection

public boolean setProtection(int protectionType)

設(shè)置 Ashmem 對(duì)象的保護(hù)類(lèi)型。

保護(hù)類(lèi)型只能添加,不能刪除。

一旦設(shè)置了保護(hù)類(lèi)型,它將對(duì)所有到 Ashmem 對(duì)象的映射生效,無(wú)論這些映射是在設(shè)置保護(hù)類(lèi)型之前還是之后創(chuàng)建的。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
protectionType 指示要設(shè)置的保護(hù)類(lèi)型。 該值是 PROT_READ、PROT_WRITE、PROT_EXEC 或 PROT_NONE 的按位或運(yùn)算組合。

返回:

設(shè)置成功返回true; 否則返回 false。

getAShmemSize

public int getAShmemSize()

獲取 Ashmem 對(duì)象的內(nèi)存大小。

返回:

返回 Ashmem 對(duì)象的內(nèi)存大小。

writeToAShmem

public boolean writeToAShmem(byte[] data, int size, int offset)

將數(shù)據(jù)寫(xiě)入 Ashmem 對(duì)象。

您需要控制多進(jìn)程操作的時(shí)序。

在調(diào)用該方法之前,請(qǐng)確保您已經(jīng)獲得了Ashmem對(duì)象的寫(xiě)權(quán)限,并且已經(jīng)為您的進(jìn)程創(chuàng)建了到該Ashmem對(duì)象的寫(xiě)映射。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
data 表示要寫(xiě)入 Ashmem 對(duì)象的數(shù)據(jù)。
size 指示要寫(xiě)入的數(shù)據(jù)的大小。
offset 指示在 Ashmem 對(duì)象中寫(xiě)入數(shù)據(jù)的起始位置。

返回:

如果數(shù)據(jù)寫(xiě)入成功,則返回 true; 其他場(chǎng)景返回 false,如數(shù)據(jù)寫(xiě)入越界或未獲得寫(xiě)入權(quán)限。

readFromAShmem

public byte[] readFromAShmem(int size, int offset)

從 Ashmem 對(duì)象中讀取數(shù)據(jù)。

您需要控制多進(jìn)程操作的時(shí)序。

在調(diào)用此方法之前,請(qǐng)確保您已獲得 Ashmem 對(duì)象的讀取權(quán)限,并且已為您的進(jìn)程創(chuàng)建了到此 Ashmem 對(duì)象的讀取映射。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)描述
size 指示要讀取的數(shù)據(jù)的大小。
offset 指示 Ashmem 對(duì)象中讀取數(shù)據(jù)的起始位置。

返回:

返回讀取的數(shù)據(jù)。

getAshmemIdentity

public long getAshmemIdentity()

獲取 Ashmem 對(duì)象的身份。

返回:

返回 Ashmem 對(duì)象的標(biāo)識(shí)。


文章名稱(chēng):創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSAshmem
分享鏈接:http://m.5511xx.com/article/coedssj.html