Android App Widgets是在应用程序进程还是主机进程中运行?

 古台山_683 发布于 2023-01-12 09:31

我对App Widget默认运行的过程有点困惑.在Android开发者处阅读:

"默认情况下,每个应用程序都在自己的进程中运行,应用程序的所有组件都在该进程中运行" - 来自:http://developer.android.com/guide/components/processes-and-threads.html

我的教科书说:

"Android App Widgets不在应用程序进程中运行,而是在主机进程中运行.因此,App Widget使用RemoteViews类来定义其用户界面.RemoteViews类支持整个View层次结构的子集,以便在另一个进程中显示一般来说,您希望在onUpdate()方法期间配置RemoteViews对象并将其发送到App Widget Manager.但是,您还需要在创建实例并存在配置活动时更新它.来自:Android无线应用程序开发第二卷第3版,第370页

有人之前也问了这个问题,答案是"同一个过程": android小部件是否在与它的应用程序相同的进程中运行

有人可以帮助我理解Android App Widget是在自己的进程中运行还是与主应用程序运行相同.谢谢

1 个回答
  • 这取决于你认为"Android App Widget"实际上是什么:

    如果您认为应用程序窗口小部件是在主屏幕上运行的UI,则该UI将由主屏幕的进程呈现.

    如果您认为应用程序小部件是其子类AppWidgetProvider,那么它将在您自己的应用程序进程中运行.

    app widget系统是一个插件机制.主屏幕在Android框架的帮助下RemoteViews从中请求对象AppWidgetProvider.那些RemoteViews代表主屏幕要呈现的UI.但是,与您的任何其他应用程序组件一样,创建它的工作RemoteViews将在您的过程中.通常,处理点击事件的工作将通过一个路由到您的流程PendingIntent.

    2023-01-12 09:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有