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