
回复
作者:纪春祥
dataobsmgr全称为(data observer manager service)数据观察者管理业务。在操作系统中有些数据的变更,需要通知到其他模块,需要对相应数据和接口进行登记(源应用负责注册)、绑定(在数据发生变更的时候调用目标接口)。
HarmonyOS官网例子:
Proxy 是IPC客户端,Stub 是IPC服务端,Service 是服务端对象,Inner 是 Service 的内部逻辑。
IPC(Inter-Process Communication,进程间通信),之所以在dataobsmgr引入IPC,因为OpenHarmony是一个分布式系统,数据分布式、应用部署也是分布式。
1、DataObsMgrService作为系统服务,由OpenHarmony操作系统调用OnStart()和OnStop()完成启动和停止;
2、应用通过调用DataObjManagerStub的OnRemoteRequest方法完成DataObsManager的注册、注销和消息响应;
3、分别触发DataObsMgrInner的注册、注销和消息;
4、消息会触发IDataAbilityObserver的OnChange函数,即应用侧需要实现的函数。
遗留:
1、OnRemoteRequest如何被触发的?
2、客户端和服务端分别是如何触发的?
需要参见IPC相关机制,这里不做深究。
入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。