笔记:理解RemoteView

理解RemoteView


  • RemoteViews在安卓中的使用场景有通知栏通知和桌面小部件

  • 通知栏主要通过NotifcationManager的notify来实现

  • 桌面小部件通过AppWidgetProvider来实现,AppWidgetProvider本质上是个广播

  • 通知栏通知和桌面小部件都运行在其他进程中,确切的说是SystemServer进程,

  • 为了实现跨进程通信,remoteViews提供了许多set方法,并且这些方法是View方法的子集,且RemoteViews支持的View是有限的。

  • PendingIntent表示的是将来某个时刻即将发生的Intent,而Intent表示立即发生。p228

笔记:理解RemoteView_第1张图片

  • RemoteView原理是应用将对RemoteView的操作封装成Action对象,Action本身是实现了Parceable,可以跨进程传输,然后SystemServer接收Action,依次调用Action的apply方法执行对RemoteView的操作,这样做避免了大量的IPC操作,提高程序性能。

你可能感兴趣的:(笔记:理解RemoteView)