如何检查应用程序是否已从内存中恢复?

时间:2012-09-04 10:39:38

标签: android android-activity onresume

在我的应用程序中,我在表视图上有一个过滤函数,它在表中给出了过滤结果。我在共享偏好设置中设置了过滤选项(复选框),以便下次用户进入过滤器屏幕时,它会看到已选中的复选框,以便知道过滤的表格是什么以及上次检查过滤的内容。

当应用程序启动时,我将它们全部设置为未选中(要求),但我不知道应用程序何时启动或恢复。当应用程序从内存中恢复时,它再次初始化我的所有数据类型。我该如何检查应用程序是否已恢复。如果我在活动中设置了onResume - 没有获得它每次我只想知道应用程序恢复时才被调用。

现在发生了什么我不知道什么时候从内存中恢复应用程序,我的过滤器就像应用程序启动一样,并且全部设置为未选中

4 个答案:

答案 0 :(得分:1)

我所做的是,在我的第一个活动中创建了一个布尔值并放置了false并将其存储在共享首选项中,然后在启动过滤时将其设置为true。所以它仍然是真的,因为应用程序仍然在内存中并恢复甚至。当应用程序退出时,并在启动时再次启动它再次变为假

答案 1 :(得分:0)

没有“从内存中恢复”的状态。它可以恢复或创建(或重新启动)。因此,您应该重新设计应用程序逻辑并在onCreate()而不是onResume()

上初始化您的内容

答案 2 :(得分:0)

您可以恢复onRestart()上的复选框,这意味着您的活动未被杀死,并在停止后(手动或通过Android)恢复。

答案 3 :(得分:0)

我无法正确理解您的问题,但就我的理解而言,您通过共享偏好过滤用户选项。如果是这样,则无需以编程方式取消设置/设置每个选项。 Android会记住并为您恢复此功能。如果您想访问这些内容,只需致电context.getSharedPreferences(),然后从sharedPreferences对象接听来电getBoolean (key,defValue)