Android活动重新启动

| 我在重新启动活动时感到困惑。我有两个功能可以很好地完成同一任务。请指导我哪个最好,为什么?
public void restart()   
    {  
        Intent intent = getIntent();  
        overridePendingTransition(0, 0);  
        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);  
        finish();  
        overridePendingTransition(R.anim.fade,R.anim.fade);
        startActivity(intent);

    }
要么
public void restart()   
    {         
        onCreate();  
    }  
提前致谢?     
已邀请:
我认为这是一种更清洁的方式满足您的要求。
    Intent intent = getIntent();
    overridePendingTransition(0, 0);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    finish();
    overridePendingTransition(0, 0);
    startActivity(intent);
    
系统中的活动作为活动堆栈进行管理。当一个新的活动开始时,它被放置在堆栈的顶部并成为正在运行的活动-先前的活动始终在堆栈中的下方,直到新的活动退出后才再次出现在前台。 有关更多信息,请参见活动     
这已经发布之前:
Intent intent = getIntent();
finish();
startActivity(intent);
    

要回复问题请先登录注册