无论你是否了解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生命周期之间的关系所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)