【问题标题】:Android, does foreground service keep app alive?Android,前台服务是否使应用程序保持活力?
【发布时间】:2018-08-10 18:31:31
【问题描述】:

如果有前台服务在运行,Android 会杀死public class App extends Application 吗?

我不确定它是否重要...如果我从该服务引用到在 Activity 或 App 中实例化的对象并且该 Activity/App 被终止,来自该服务的引用仍然有效吗?

最后一个问题是......如果与包含静态字段的类关联的应用程序被终止,静态字段会发生什么?

【问题讨论】:

    标签: java android service kill foreground


    【解决方案1】:

    如果有前台服务在运行,Android 会杀死 public class App extends Application 吗?

    类在 Android 中不会被“杀死”。进程被终止。 Application 实例会在您的进程创建时创建,并一直存在直到进程终止。

    只要前台服务正在运行,它的进程就处于活动状态(根据定义),它的Application 将一直存在。

    如果与包含静态字段的类关联的应用程序被终止,静态字段会发生什么情况?

    同样,类在 Android 中并没有被“杀死”。进程被终止。当您的进程终止时,内存中的所有内容都会消失,包括 static 字段及其引用。

    【讨论】:

    • Android 文档说 前台服务必须显示通知。 如果我希望此通知显示更新的 UI,例如当用户向下滑动它时,我想进行网络调用获取数据。我想知道是否有办法知道用户向下滑动了它?
    • @Prudhvi:您不知道该事件。期望您在数据更改时使通知内容保持最新。
    • @Prudhvi 如果您再次调用该服务,则会再次创建通知。但是如果可以识别用户向下滑动通知栏,我就不知道了。
    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2019-07-05
    相关资源
    最近更新 更多