Android,什么更有效率?隐藏活动或使用旧数据启动新活动

时间:2014-10-21 22:34:54

标签: android android-activity activity-stack

您好我正在开发Android的聊天应用程序(只是私人项目)

  • 用户有联系人列表,他可以在其中选择联系人(让我们打电话 这个活动contact_activity)。
  • 当他选择接触时,接下来 活动(让我们称之为chat_activity)打开,他可以在那里 与其他用户一起写消息,但是当用户按下按钮时,和 再次恢复相同的聊天室,从以前的活动一切 对话被删除。
  • 我想存储和显示收到的数据 每个活动对话用户进入,直到他关闭 手动对话或应用程序已关闭。

哪种解决方案更优化?

  • 将每个chat_activity的数据传递回contact_activity和 然后当用户"恢复"通过创建新活动来实现chat_activity
  • 我听说过活动堆栈的一些魔力,所以要尽量减少活动 然后以某种方式用旧数据上下文恢复它。

感谢您的建议。

2 个答案:

答案 0 :(得分:1)

我不熟悉你所说的魔法......

但保持数据不是活动的工作,他们的工作就是展示他们。

我建议的解决方案是你有一个ChatManager,例如它是一个单一的。这个经理可以为您的所有活动聊天保存某种数据结构[自打开应用程序以来打开的那些],也许是Map,其键是一个模型对象,表示您与之聊天的Contact该值可以是属于该聊天会话的Message列表。

活动“保存和恢复”技术并不意味着保持活动之间的数据完全完成并在以后打开,这意味着在某种配置更改期间保留数据或者由于操作系统而导致您的活动被操作系统杀死记忆或什么..

答案 1 :(得分:0)

我认为最好的解决方案是存储活动然后恢复它们。

如果需要,您还可以通过覆盖某些方法来更新它们。

查看此帖子,了解有关存储活动的更多详细信息:Saving Android Activity state using Save Instance State