Android 开发艺术探索 第5章 理解RemoteViews Window WindowManager

it2023-05-06  77

5.1

RemoteViews 在实际开发中,主要用在通知栏和桌面小部件的开发过程中.通知栏主要是通过Notifycation的notify方法来实现的,他除了默认效果外,还可以另外定义布局,桌面小部件则是通过AppWidgtProvider来实现的,Appwidget-Provider本质上是一个广播.通知栏和桌面小部件的开发过程中都会用到RemoteViews,它们在更新界面时无法像在Activity里面那样直接去更新View,这是因为二者的界面都运行在其他进程中,确切来说是系统的SystemServer进程.为了跨进程更新界面,RemoteViews提供了一系列set方法,并且这些方法只是View全部方法的子集,另外ReoteViews 中所支持的View类型也是有限的

...过期了

第八章.理解Window和WindowManager

Window是一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么需要用到Window,Window是一个抽象类,他的具体实现类是PhoneWindow,可以通过WindowManager创建.WindowManager是外界访问Window的入口,Window的具体实现位于WindowManagerService中,WindowManager 和 WindowManagerService的交互是一个IPC过程.Andorid中所有的视图都是通过Window来呈现的,不管是Activity,Dialog还是Toast,他们的视图实际上都是附加在Window上的,Window是View的直接管理者

Window和WindowManager

 

最新回复(0)