更改活动时的最佳做法是什么?

时间:2015-02-06 14:11:32

标签: android

在Android中更改活动时是否有最佳做法?

对我来说这似乎很奇怪,只是做一个意图并一遍又一遍地开始另一项活动。

如果我刚开始另一项活动并完成最后一项活动,当我必须退回时,我需要加载所有的东西。但是当我不这样做时,在内存处理方面似乎不是正确的做法。

将所有活动保存在一种ActivitiesPool或类似的东西中是否正确?或者我总是要在保持打开或重新加载之间做出选择?

任何指示?

由于

1 个答案:

答案 0 :(得分:1)

  

对我来说这似乎很奇怪,只是制作一个意图并开始另一个活动而且已经过了

这就是它在Android上的运作方式。更准确地说,我们(作为开发人员)系统甚至不允许new Activity()只调用startActivity(intent);

  

我需要加载所有的东西

再次,框架负责根据需要加载/卸载资源

  

将所有活动保存在一种ActivitiesPool

中是否正确

不,这不正确,请勿触摸它们。

如果您希望用户能够点击back按钮并转到上一个活动,请不要在其上调用finish();。您可以使用onPause() / onResume()回调来处理后台操作,并且应该在@Override protected void onSaveInstanceState(Bundle outState)回调中保存UI状态。您将所需的所有UI状态放在那里。如果系统需要内存,它将破坏活动,每当用户前往back时,它将再次创建onCreate(Bundle savedInstances),然后您将保存所有的UI状态,以便您正确重新创建用户之前的状态。

这就是它的工作原理。