在Android中重载Activity是一个很好的做法吗?

最好的方法是什么?这一点。完成,然后这个。用Intent启动activity ?


当前回答

你可以简单地使用

finish();
startActivity(getIntent());

从Activity内部刷新Activity。

其他回答

以一个相同的活动开始,并关闭该活动。

Intent refresh = new Intent(this, Main.class);
startActivity(refresh);//Start the same Activity
finish(); //finish Activity.

我看到了之前给出的使用Intent重新加载活动的答案。这些都可以工作,但你也可以使用Activity类本身给出的rebuild()方法来做同样的事情。

不写这个

//当对话框关闭时刷新主活动

Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish();

这可以通过写这个来实现

recreate();

你可以简单地使用

finish();
startActivity(getIntent());

从Activity内部刷新Activity。

Android包括一个进程管理系统,它可以处理活动的创建和销毁,这在很大程度上抵消了手动重新启动活动的任何好处。你可以在应用基础上看到更多的信息

好的做法是确保你的onPause和onStop方法释放任何你不需要保留的资源,并使用onLowMemory将你的活动需求减少到绝对最小。

这就是我所做的重新加载活动后,从一个首选项更改返回。

@Override
protected void onResume() {

   super.onResume();
   this.onCreate(null);
}

这本质上导致活动重绘自身。

更新:更好的方法是调用rebuild()方法。这将导致重新创建活动。