模拟Android应用程序刷新内存

zmb*_*mbq 3 android memory-management emulation

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

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

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

Ted*_*opp 5

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