[Android窗口管理] 为什么需要WindowSession?

lkfy524 2011-03-03 02:30:07
在学习Android Window方面知识时,遇到几个问题,希望有朋友能帮助解答下,感激不尽!

1. 既然我们已经可以获得Window Manager的Proxy,为什么Android还设计了WindowSession这个机制进行会话呢?

2. 是不是所有的Service都类似如上机制? 按我理解,如果获得了Proxy的话,不是可以直接在JVM利用RPC调用对应方法,比如addView,那么为何还要通过中间一个会话机制呢?

最后,总结上面问题:
为什么不在Window Manager Service层直接实现addView,然后由我们获得代理对象调用并传入对应的主View,为什么非要通过IWindowSession来,这样有什么好处?
...全文
366 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky-Z 2011-05-25
  • 打赏
  • 举报
回复
我认为是因为,每一个window都会有自己独立的数据,在操作的时候需要这些数据,那么这些数据也是需要存储在服务端的,所以需要在服务端为每个对应的window开辟一个对应的session来保存数据,通过session来交互能够使用其对应的数据。
lkfy524 2011-03-07
  • 打赏
  • 举报
回复
希望还有更多的朋友给予帮助,多谢!
lkfy524 2011-03-04
  • 打赏
  • 举报
回复
楼上的朋友的意思是指,Window Manager本身一些功能需要WindowSession支持?所以不得不用?
West_Link 2011-03-03
  • 打赏
  • 举报
回复
引入中间层的目的一般都是隔离两个不同层,使两个层互相不可见,这样以后把被隔离的层重新实现一遍,对调用者也不会产生影响,比如常见的Delegate或Proxy机制等。我认为咱们获取到并不是Window Manager的Proxy,而是Window Manager自己。我倒是觉得WindowSession更像一个Provider,WindowManager通过它来完成工作。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧