序列化和binder

来源:互联网 发布:软件测试的项目 编辑:程序博客网 时间:2024/05/22 14:45

序列化只是将对象的属性写入流和对象方法没有任何关系;

    反序列化只是将对象属性取出后赋给本地对象,属性之外全部本地化。

    本身序列化本身只是为了保存对象属性;不是对象方法。

在binder中回掉方法;只能使用binder做对象传递;

    binder本身是接口;自身不能带属性所以即使实现类有属性也无法访问(同一应用有可能访问属性);可以通过方法传递数据;这些数据必须可序列化。感觉序列化是为了方便开发。

binder也是会被全部本地化。

   客户端和服务器端传递的binder和序列化的对象都是不一样;体现进程之间是不可以直接传递对象的;binder也不行。客户器端产生的binder传递到服务器端;不是原客户端的binder;是服务器端生成的新binder。再次传递同一对象时会再次生产新的对象;所以再次回掉binder方法需要谨慎;可以用RemoteCallbackList解决题。RemoteCallbackList会根据新对象binder判断是否是同一源对象。不会再次增加也能删除对应的binder(一对多有需求)。

  binder对象的方法回调会在源对象binder线程池中执行(线程池中线程闲置会被杀死在再使用重新生成)。其他对象除外。客户端和服务器binder线程池只给源binder对象使用。

0 0
原创粉丝点击