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

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


当前回答

在某些情况下,这是最好的做法,但在其他情况下,这不是一个好主意,这是环境驱动的 如果你选择这样做,使用以下是最好的方式从一个活动传递给她的儿子:

    Intent i = new Intent(myCurrentActivityName.this,activityIWishToRun.class);    
    startActivityForResult(i, GlobalDataStore.STATIC_INTEGER_VALUE);

事情是每当你完成()从activityIWishToRun你回到你的一个活动

其他回答

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

在某些情况下,这是最好的做法,但在其他情况下,这不是一个好主意,这是环境驱动的 如果你选择这样做,使用以下是最好的方式从一个活动传递给她的儿子:

    Intent i = new Intent(myCurrentActivityName.this,activityIWishToRun.class);    
    startActivityForResult(i, GlobalDataStore.STATIC_INTEGER_VALUE);

事情是每当你完成()从activityIWishToRun你回到你的一个活动

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

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

我用过这个,不用它也能正常工作 完成()

startActivity(getIntent());

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

@Override
protected void onResume() {

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

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

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