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

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


当前回答

在活动中,您可以调用rebuild()来“重新创建”活动(API 11+)

其他回答

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

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

我需要在我的一个应用程序中更新消息列表,所以我只是在关闭我所在的对话框之前刷新了我的主UI活动。我相信还有更好的方法来实现这一点。

// Refresh main activity upon close of dialog box
Intent refresh = new Intent(this, clsMainUIActivity.class);
startActivity(refresh);
this.finish(); //

重新加载整个活动可能是一项繁重的任务。 只需将需要刷新的部分代码放入(kotlin):

override fun onResume() {
    super.onResume()
    //here...
}

Java:

@Override
public void onResume(){
    super.onResume();
    //here...

}

并在需要时调用“onResume()”。

登录后,我有同样的问题,所以我使用

@Override
protected void onRestart() {
    this.recreate();
    super.onRestart();
}

对我来说,它是工作的,它没有创建另一个意图和同样的意图新数据加载。

    overridePendingTransition(0, 0);
    finish();
    overridePendingTransition(0, 0);
    startActivity(getIntent());
    overridePendingTransition(0, 0);