3

我有一个登录到服务器的 Android 应用程序,获取会话 ID 并在应用程序运行时使用它。会话 ID 存储在SharedPeferences.

出于某种原因,在一台设备(旧的三星 Galaxy S)上,有时当应用程序唤醒时,会话 ID 消失了 - 它无法从 SharedPreferences 中检索,而是 - 返回 null。这可能发生在大量使用手机之后,需要 Android 释放内存资源。请注意,应用程序仍然存在,它没有从头开始重新启动 - 我的活动只是被 onResume 调用。

如果我能在模拟器上重现这种行为,我会非常高兴。有没有办法让模拟器做同样的事情?

4

1 回答 1

5

如果您的活动在这些情况下也没有得到 onCreate,我会感到惊讶。在模拟器上测试这种事情的一种策略是暂停应用程序中的所有活动,然后使用 adb 终止进程。这基本上就是框架在资源不足时所做的事情。当您恢复活动时,它会创建一个新进程并尝试从暂停时保存的状态重新初始化您的活动。

于 2013-04-14T07:41:32.360 回答