在Android中的活动和传递对象之间切换

时间:2014-12-04 23:07:57

标签: android performance android-intent android-activity xamarin

我的Android应用有很多Activities 截至目前,我每次开始新Finish()时都会调用Activity

所以我之前的一个被彻底销毁,当用户按下后退按钮时,我完成当前活动并开始上一个活动的新Intent

这使我的应用非常慢,因为每次开始活动时都必须运行OnCreate

如果我没有完成之前的活动,如何在不完成此活动的情况下调用之前的活动?用户将开展相同的活动。

我还希望在活动之间切换时使用.PutExtra()

这就是我现在正在做的事情:

Intent intent = new Intent (this, typeof(AddNewActivity));
var json = JsonConvert.SerializeObject (myDataObject);
intent.PutExtra ("myDataObject", json);
StartActivity (intent);
Finish ();

所以基本上,我的问题是我怎么不能每次都开始一个新的Activity并仍然在两个或多个活动之间传递数据?

谢谢。

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案就是不要打电话给#34;完成()"每次你去参加一项新活动。如果您遵循此方法,后退按钮将使用户返回到上一个活动的现有实例。因此,你可以绕过onCreate和任何耗时的操作。

至于传递数据:使用Intents。启动新活动时,请调用startActivityForResult。这将允许您:

  • 将数据传递给意图中的新活动。
  • 在新活动完成后将数据传回原始活动。

请参阅:http://developer.android.com/training/basics/intents/result.html