活动被杀后,GCM收到的数据保持不变

时间:2014-10-12 03:29:01

标签: android memory-management google-cloud-messaging

假设Android已经杀死我的进程以释放内存(我的Activity中已调用onSaveInstanceState),之后我收到一条推送消息,这是将信息存储在推送消息,以便Activity可以在以后重新启动Activity时检索它?

我目前正在查看SharedPreferences,但它只允许我存储基元,而我希望存储的数据结构具有结构。

也许我可以序列化为JSON并将SharedPreferences存储为String,但我想知道是否有更好的解决方案。

1 个答案:

答案 0 :(得分:1)

您从服务器向应用程序发送GCM消息的JSON将成为处理该消息的BroadcastReceiver意图的附加内容中的键/值对。

处理GCM消息的常见做法是显示通知,该通知会在您点击时打开您应用的活动。您可以将消息的所有键/值对传递给启动活动的意图,这样您的活动就会拥有所有数据,无论它是否曾被杀死。