Tus*_*aha 2 java android android-activity
为什么我们必须使用intent启动一个活动
为什么我们不能使用Activity a = new Activity启动它?
我尝试在Android开发人员中搜索,但没有得到任何答案
Gab*_*han 11
你可以,但它不会完全初始化.Activity上有一系列函数需要按正确的顺序调用才能正确初始化它,并且框架采取了一系列步骤来显示活动.调用startActivity将采用这些步骤并以正确的顺序调用Activity生命周期函数.所以没有理由使用新的.
再看看它 - 让我们说你要做Activity a = new Activity().操作系统如何知道你这样做,并知道它应该显示那个Activity?怎么知道Activity现在应该进入前台呢?它不会.需要告知的是,新活动已经启动.这就是startAcctivity存在的原因.既然你必须要调用它,为什么不把它作为工厂方法,所以初始化和启动是一步?