休息时重新加载活动

时间:2014-08-15 11:22:16

标签: android xamarin

我有一个活动,当屏幕方向改变时,活动会执行一些代码。因此,如果用户决定来回翻转屏幕,则后面的代码将会中断。我想通过try / catch捕获它,并且在catch中我想要重新启动活动,或者如果在它之前更容易返回一步到活动。我现在成功地抓住了这个例外,但我真的不知道该怎么办。

如果试过这个:

  OnDestroy();
  StartActivity(typeof(ImageGridActivity));

或只是

 Finish();

所以希望只是跳回一项活动。但事实并非如此。 Plz帮忙!

1 个答案:

答案 0 :(得分:0)

当屏幕方向改变时,您的旧活动将进入(屏幕外),并开始新的活动。如果未引用旧活动,则将对其进行垃圾回收,否则仍会占用内存。 onCreate()方法有一个Bundle参数;如果它不为空,则表示重新启动活动。请参阅onSaveInstanceState()

如果您在后台执行某项操作,则该任务不得归活动所有(来自 MVC 视点的 Controller ),它应属于模型。您可以将引用存储在全局变量中,也可以按照onRetainNonConfigurationInstance()中的建议进行操作(还有很多要阅读的内容)。

另请参阅:Is AsyncTask really conceptually flawed or am I just missing something?