【问题标题】:Saving data during Service killing在服务终止期间保存数据
【发布时间】:2015-10-01 08:06:16
【问题描述】:

我有一个以BOOT_COMPLETED 开头的服务。该服务定期向服务器发送 GPS 数据。有时操作系统会在内存后终止该服务,但没有调用服务的onDestroy() 方法。当我的服务重新启动时,我可以在哪里放置一些用于保存和恢复的值?

【问题讨论】:

    标签: android


    【解决方案1】:

    简单地说:您不能使用常规的服务生命周期事件。

    如果没有调用onDestroy() 方法,系统会以艰难的方式杀死进程,而不会正确终止它。由于没有事件,您必须使用其他回调来检测可能的终止情况。

    唯一可能有帮助的方法是收听onTrimMemeroyonLowMemeroy,尽管这些回调并不意味着您的服务将被终止,它可能有助于您何时保存数据。

    更多信息可以在这里找到:http://developer.android.com/reference/android/content/ComponentCallbacks2.html

    作为参考,以下是正确终止服务的生命周期:

    【讨论】:

      【解决方案2】:

      你可以使用onTrimMemeroy()onLowMemeroy()方法来处理这个问题,关于这两种方法的详细说明可以从here获得

      【讨论】:

        猜你喜欢
        • 2020-10-15
        • 2015-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多