我应该在接收器中使用android:process =“:远程”?
-
29-09-2019 - |
题
我有一个广播员,每隔一段时间都称呼,我注意到很多人都在使用
android: process =":remote"
在他们的接收器中。矿山用于检查一些事情,如果条件匹配,则可以激活警报。我的问题是,我应该使用上面发布的列表吗?如果是这样,这样做有什么好处?
解决方案
通过定义接收器 android:process=":remote"
您基本上在其他过程(= VM)中运行接收器。对于典型的用例,您无需在其他过程中运行此操作,并且您想做的任何事情都可以在本地(在APK过程中)运行。
使用的缺点 android:process=":remote"
是您需要其他资源才能运行(在这种情况下,一个单独的过程)。这样做时,您基本上要处理2个VM,并且在您的应用程序和远程服务之间不再共享静态字段等一些模式。
使用的好处 android:process=":remote"
是对于某些用例而言,在关闭应用程序后,或者希望远程客户端能够绑定到您的服务后,启动将继续运行的服务可能很方便。在调用单独的过程中运行时,您的广播接收器将不会阻止您的应用程序主线程 onReceive()
方法(但是,还有其他实施方法)。
我发现大多数时候,对于最常见的用例,您可以不使用 android:process=":remote"
.
不隶属于 StackOverflow