W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---ohos.rpc.RemoteObject
public class RemoteObject
extends Object
implements IRemoteObject
實(shí)現(xiàn)遠(yuǎn)程對(duì)象。
服務(wù)提供者必須繼承這個(gè)類。
如果 RemoteObject 定義為匿名類、本地類或成員類而不是靜態(tài)單例類,則可能會(huì)發(fā)生潛在泄漏。
從接口 ohos.rpc.IRemoteObject 繼承的嵌套類/接口 |
---|
IRemoteObject.DeathRecipient |
從接口 ohos.rpc.IRemoteObject 繼承的字段 |
---|
DUMP_TRANSACTION, INTERFACE_TRANSACTION, MAX_TRANSACTION_ID, MIN_TRANSACTION_ID, PING_TRANSACTION |
構(gòu)造函數(shù) | 描述 |
---|---|
RemoteObject(String descriptor) | 用于使用默認(rèn)接口描述符創(chuàng)建 RemoteObject 實(shí)例的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
boolean | addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) | 注冊(cè)一個(gè)用于接收遠(yuǎn)程代理死亡通知的回調(diào)。 |
void | attachLocalInterface(IRemoteBroker localInterface, String descriptor) | 修改當(dāng)前 RemoteObject 的描述。 |
protected void | dump(FileDescriptor fd, PrintWriter pw, String[] args) | 將當(dāng)前接口的狀態(tài)轉(zhuǎn)儲(chǔ)到具有特定描述符的文件中。 |
void | dump(FileDescriptor fd, String[] args) | 將當(dāng)前接口的狀態(tài)轉(zhuǎn)儲(chǔ)到具有特定描述符的文件中。 |
protected void | finalize() | 當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。 |
int | getCallingPid() | 獲取 RemoteProxy 對(duì)象的 PID。 |
int | getCallingUid() | 獲取 RemoteProxy 對(duì)象的 UID。 |
String | getInterfaceDescriptor() | 查詢接口描述符。 |
boolean | isObjectDead() | 檢查 RemoteObject 是否已失效。 |
boolean | onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) | 設(shè)置接收請(qǐng)求的條目。 |
IRemoteBroker | queryLocalInterface(String descriptor) | 使用接口描述符查詢遠(yuǎn)程對(duì)象。 |
boolean | removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags) | 取消注冊(cè)用于接收遠(yuǎn)程代理死亡通知的回調(diào)。 |
boolean | sendRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) | 向 peer 對(duì)象發(fā)送請(qǐng)求。 |
protected void | slowPathDump(FileDescriptor fd, PrintWriter pw, String[] args) | 使用給定的 PrintWriter 對(duì)象將數(shù)據(jù)異步轉(zhuǎn)儲(chǔ)到指定文件。 |
void | slowPathDump(FileDescriptor fd, String[] args) | 將數(shù)據(jù)異步轉(zhuǎn)儲(chǔ)到指定文件。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public RemoteObject(String descriptor)
用于使用默認(rèn)接口描述符創(chuàng)建 RemoteObject 實(shí)例的構(gòu)造函數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
descriptor | 指示用于創(chuàng)建 RemoteObject 實(shí)例的接口描述符。 |
public IRemoteBroker queryLocalInterface(String descriptor)
使用接口描述符查詢遠(yuǎn)程對(duì)象。
指定者:
接口 IRemoteObject 中的 queryLocalInterface
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
descriptor | 表示用于查詢遠(yuǎn)程對(duì)象的接口描述符。 |
返回:
返回與接口描述符匹配的遠(yuǎn)程對(duì)象; 如果沒有找到這樣的遠(yuǎn)程對(duì)象,則返回 null。
public boolean addDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)
注冊(cè)一個(gè)用于接收遠(yuǎn)程代理死亡通知的回調(diào)。
指定者:
接口 IRemoteObject 中的 addDeathRecipient
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
recipient | 表示要注冊(cè)的回調(diào)。 |
flags | 表示死亡通知的標(biāo)志。 |
返回:
返回 false,因?yàn)椴恍枰嘶卣{(diào)。
public boolean removeDeathRecipient(IRemoteObject.DeathRecipient recipient, int flags)
取消注冊(cè)用于接收遠(yuǎn)程代理死亡通知的回調(diào)。
指定者:
接口 IRemoteObject 中的 removeDeathRecipient
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
recipient | 指示要注銷的回調(diào)。 |
flags | 表示死亡通知的標(biāo)志。 |
返回:
返回 false,因?yàn)椴恍枰嘶卣{(diào)。
public String getInterfaceDescriptor()
查詢接口描述符。
指定者:
接口 IRemoteObject 中的 getInterfaceDescriptor
返回:
返回接口描述符。
public boolean onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) throws RemoteException
設(shè)置接收請(qǐng)求的條目。
該方法由遠(yuǎn)程服務(wù)提供者實(shí)現(xiàn)。 使用 IPC 時(shí),您需要使用自己的服務(wù)邏輯覆蓋此方法。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
code | 表示對(duì)端發(fā)送的服務(wù)請(qǐng)求碼。 |
data | 表示對(duì)端發(fā)送的MessageParcel 對(duì)象。 |
reply | 表示遠(yuǎn)程服務(wù)發(fā)送的響應(yīng)消息對(duì)象。 本地服務(wù)將響應(yīng)數(shù)據(jù)寫入 MessageParcel 對(duì)象。 |
option | 指示操作是同步的還是異步的。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Throws:
Throw名稱 | Throw描述 |
---|---|
RemoteException | 如果發(fā)生遠(yuǎn)程服務(wù)錯(cuò)誤,則拋出此異常。 |
public boolean sendRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option) throws RemoteException
向 peer 對(duì)象發(fā)送請(qǐng)求。
如果對(duì)等對(duì)象和 RemoteObject 在同一設(shè)備上,則請(qǐng)求由 IPC 驅(qū)動(dòng)程序發(fā)送。 如果它們?cè)诓煌脑O(shè)備上,則請(qǐng)求由套接字驅(qū)動(dòng)程序發(fā)送。
指定者:
接口 IRemoteObject 中的 sendRequest
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
code | 表示請(qǐng)求的消息代碼。 |
data | 表示存儲(chǔ)待發(fā)送數(shù)據(jù)的MessageParcel 對(duì)象。 |
reply | 指示接收響應(yīng)數(shù)據(jù)的 MessageParcel 對(duì)象。 |
option | 指示同步(默認(rèn))或異步請(qǐng)求。 |
返回:
如果操作成功,則返回 true; 否則返回 false。
Throws:
Throw名稱 | Throw描述 |
---|---|
RemoteException | 如果發(fā)生遠(yuǎn)程服務(wù)錯(cuò)誤,則拋出此異常。 |
public int getCallingPid()
獲取 RemoteProxy 對(duì)象的 PID。
返回:
返回 RemoteProxy 對(duì)象的 PID。
public int getCallingUid()
獲取 RemoteProxy 對(duì)象的 UID。
返回:
返回 RemoteProxy 對(duì)象的 UID。
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args)
將當(dāng)前接口的狀態(tài)轉(zhuǎn)儲(chǔ)到具有特定描述符的文件中。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fd | 表示目標(biāo)文件的描述符。 |
pw | 將對(duì)象的格式化表示打印到輸出流。 |
args | 以字符串形式表示該方法的參數(shù)。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
RemoteException | 如果打開 FileOutputStream 或?qū)?shù)據(jù)寫入 FileOutputStream 時(shí)發(fā)生錯(cuò)誤,則拋出此異常。 |
protected void slowPathDump(FileDescriptor fd, PrintWriter pw, String[] args)
使用給定的 PrintWriter 對(duì)象將數(shù)據(jù)異步轉(zhuǎn)儲(chǔ)到指定文件。
此方法僅適用于同一設(shè)備上的數(shù)據(jù)轉(zhuǎn)儲(chǔ)。
您需要重寫此方法以定義要轉(zhuǎn)儲(chǔ)到文件的數(shù)據(jù)。 轉(zhuǎn)儲(chǔ)完成后,您需要關(guān)閉文件描述符。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fd | 表示目標(biāo)文件的文件描述符。 |
pw | 指示用于將數(shù)據(jù)轉(zhuǎn)儲(chǔ)到目標(biāo)文件的 PrintWriter 對(duì)象,禁用自動(dòng)刷新。 |
args | 指示要轉(zhuǎn)儲(chǔ)的參數(shù)(字符串?dāng)?shù)組)。 |
public void dump(FileDescriptor fd, String[] args) throws RemoteException
將當(dāng)前接口的狀態(tài)轉(zhuǎn)儲(chǔ)到具有特定描述符的文件中。
指定者:
在接口 IRemoteObject 中轉(zhuǎn)儲(chǔ)
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fd | 表示目標(biāo)文件的描述符。 |
args | 以字符串形式表示該方法的參數(shù)。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
RemoteException | 如果打開 FileOutputStream 或?qū)?shù)據(jù)寫入 FileOutputStream 時(shí)發(fā)生錯(cuò)誤,則拋出此異常。 |
public void slowPathDump(FileDescriptor fd, String[] args) throws RemoteException
將數(shù)據(jù)異步轉(zhuǎn)儲(chǔ)到指定文件。
此方法僅適用于同一設(shè)備上的數(shù)據(jù)轉(zhuǎn)儲(chǔ)。
或者,您可以覆蓋 [slowPathDump(java.io.FileDescriptor,java.io.PrintWriter,java.lang.String]) 方法來定義要轉(zhuǎn)儲(chǔ)到文件的數(shù)據(jù)。 轉(zhuǎn)儲(chǔ)完成后,您需要關(guān)閉文件描述符。
指定者:
接口 IRemoteObject 中的 slowPathDump
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
fd | 表示目標(biāo)文件的文件描述符。 |
args | 指示要轉(zhuǎn)儲(chǔ)的參數(shù)(字符串?dāng)?shù)組)。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
RemoteException | 如果轉(zhuǎn)儲(chǔ)命令發(fā)送失敗或轉(zhuǎn)儲(chǔ)過程中發(fā)生錯(cuò)誤,則拋出此異常。 |
protected void finalize() throws Throwable
從類復(fù)制的描述:對(duì)象
當(dāng)垃圾收集確定不再有對(duì)該對(duì)象的引用時(shí),由對(duì)象上的垃圾收集器調(diào)用。子類覆蓋 finalize 方法以釋放系統(tǒng)資源或執(zhí)行其他清理。
finalize 的一般約定是,當(dāng) Java? 虛擬機(jī)確定不再有任何方法可以讓任何尚未終止的線程訪問此對(duì)象時(shí)調(diào)用它,除非是由于某個(gè)操作由準(zhǔn)備完成的其他對(duì)象或類的完成所采取。 finalize 方法可以采取任何行動(dòng),包括使該對(duì)象再次可供其他線程使用;然而,finalize 的通常目的是在對(duì)象被不可撤銷地丟棄之前執(zhí)行清理操作。例如,代表輸入/輸出連接的對(duì)象的 finalize 方法可能會(huì)執(zhí)行顯式 I/O 事務(wù)以在對(duì)象被永久丟棄之前中斷連接。
Object 類的 finalize 方法不執(zhí)行任何特殊操作;它只是正常返回。 Object 的子類可以覆蓋這個(gè)定義。
Java 編程語(yǔ)言不保證哪個(gè)線程將為任何給定對(duì)象調(diào)用 finalize 方法。但是,可以保證調(diào)用 finalize 的線程在調(diào)用 finalize 時(shí)不會(huì)持有任何用戶可見的同步鎖。如果 finalize 方法拋出未捕獲的異常,則忽略該異常并終止該對(duì)象的終結(jié)。
在為一個(gè)對(duì)象調(diào)用 finalize 方法之后,不會(huì)采取進(jìn)一步的行動(dòng),直到 Java 虛擬機(jī)再次確定沒有任何方法可以讓任何尚未終止的線程訪問該對(duì)象,包括可能的行動(dòng)由其他準(zhǔn)備完成的對(duì)象或類,此時(shí)該對(duì)象可能被丟棄。
對(duì)于任何給定的對(duì)象,Java 虛擬機(jī)永遠(yuǎn)不會(huì)多次調(diào)用 finalize 方法。
finalize 方法拋出的任何異常都會(huì)導(dǎo)致該對(duì)象的終結(jié)被暫停,否則會(huì)被忽略。
覆蓋:
在類 Object 中完成
Throws:
Throw名稱 | Throw描述 |
---|---|
Throwable | 此方法引發(fā)的異常 |
public boolean isObjectDead()
檢查 RemoteObject 是否已失效。
指定者:
接口 IRemoteObject 中的 isObjectDead
返回:
默認(rèn)返回 false。
public void attachLocalInterface(IRemoteBroker localInterface, String descriptor)
修改當(dāng)前 RemoteObject 的描述。
此方法用于更改在創(chuàng)建 RemoteObject 期間指定的默認(rèn)描述符。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
localInterface | 指示要更改其描述符的 RemoteObject。 |
descriptor | 指示 RemoteObject 的新描述符。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: