我希望BroadcastReceiver
必须永远有效(100%)。现在,如果我在Android清单中注册了这种情况,或者当Android框架销毁应用程序本身时它会被杀死吗?
现在,我也一直在前台运行服务。这会确保我的应用程序永远不会被销毁吗?反过来,这将确保我在Android清单中注册的接收器将永远保持活动状态。?
答案 0 :(得分:6)
清单上的BroadcastReceiver
(docs)始终处于活动状态,即使活动不再运行,它仍然有效(请考虑触发意图操作android.intent.action.BOOT_COMPLETED
的接收器每次打开手机时)。
以动态方式定义和注册的接收器仅在应用程序运行时起作用(例如LocalBroadcastManager registerReceiver(...)
方法。
请参阅receiver element documentation说明:
将广播接收器(BroadcastReceiver子类)声明为其中之一 应用程序的组件。广播接收器支持应用 接收由系统或其他人广播的意图 应用程序,即使应用程序的其他组件不是 运行
Documentation about services说:
前台服务是一种被认为是某种东西的服务 用户积极地意识到并因此不是系统的候选者 内存不足时杀人
因此系统很可能不会杀死服务引用的正在运行的应用程序。
所以它只是能够阅读文档,我认为这是关于Android平台的超级详尽。