android – Backgrounding Phonegap以及Activity,Process和Service生命周期之间的关系

android – Backgrounding Phonegap以及Activity,Process和Service生命周期之间的关系,第1张

概述我有一个Phonegap应用程序,我想在后台运行一些程序.也就是说,在Phonegap活动不可见时执行一些逻辑.目前,我无法编写本机服务来运行这些程序,因此我希望Phonegap Activity本身充当服务.当然,作为服务运行的逻辑是 Javascript,不能作为普通的Android服务实现.我想到的一个解决方案是通过生成“虚拟”或空服务(利用startService和startForegro 我有一个Phonegap应用程序,我想在后台运行一些程序.也就是说,在Phonegap活动不可见时执行一些逻辑.目前,我无法编写本机服务来运行这些程序,因此我希望Phonegap Activity本身充当服务.当然,作为服务运行的逻辑是 Javascript,不能作为普通的AndroID服务实现.我想到的一个解决方案是通过生成“虚拟”或空服务(利用startService和startForeground)将Phonegap活动视为一种伪服务.我们的想法是,Phonegap Activity的生命周期将与服务的生命周期相关联,从而继续在后台执行JavaScript代码.

无论你是否了解Phonegap,我的问题是:如果我通过在其中生成前台服务来确定流程的优先级,这是否会影响Activity生命周期?服务(及其进程)是否可能保持活动状态并且主要活动是否已从内存中清除?

如果无法保证活动生命周期受到影响,您能否说一下实践中可能发生的事情?

解决方法

One solution I’ve thought of is to treat the Phonegap Activity as a sort of pseudo-Service by spawning a “dummy” or empty Service (utilizing startService and startForeground).

如果您可以这样做,您可以在本机Java代码中实现实际服务(而不仅仅是在本机Java代码中编写空服务),您可以避免所有这些废话.

The IDea is that the lifecycle of the Phonegap Activity will be tIEd to the lifecycle of the Service and will thus continue executing JavaScript code in the background.

AFAIK,WebVIEw既不知道也不关心流程中是否有服务.当WebVIEw不可见时,无法保证WebVIEw将无限期地继续执行JavaScript.而且,由于您的PhoneGap应用程序几乎只是一个WebVIEw,因此您依赖的是这种未记录的WebVIEw行为.

If I prioritize a process by spawning a foreground service within it,does this affect the Activity lifecycle? Is it possible that the service (and its process) stays alive and that the main Activity is cleared from memory?

欢迎用户按下BACK按钮,销毁您的活动,并且不受您是否开始某项服务的影响.

欢迎用户使用任务管理器(例如,AndroID 4.0上的最新任务列表)来关闭后台进程,这不受您是否启动某项服务的影响.

欢迎用户通过“设置”强制停止您的应用,以防止您的代码在未经他们许可的情况下再次运行,并且不受您是否启动某项服务的影响.

欢迎 *** 作系统自行终止您的进程 – startForeground()不是终身传递.

总而言之,在后三种情况下,活动和服务将在此过程中同时消失.只有BACK按钮(或您的调用finish()或一些未处理的异常)才会导致活动消失但服务仍然存在.

总结

以上是内存溢出为你收集整理的android – Backgrounding Phonegap以及Activity,Process和Service生命周期之间关系全部内容,希望文章能够帮你解决android – Backgrounding Phonegap以及Activity,Process和Service生命周期之间的关系所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存