java - 为什么我们不能使用新关键字创建 Activity ?

标签 java android android-activity

为什么我们必须使用 Intent 启动 Activity

为什么我们不能使用 Activity a = new Activity 启动它??

我尝试在 android developers 中搜索但没有得到任何答案

最佳答案

可以,但不会完全初始化。 Activity 上有一系列函数需要以正确的顺序调用以正确初始化它,框架还需要执行一系列步骤才能显示 Activity。调用 startActivity 将执行这些步骤并以正确的顺序调用 Activity 生命周期函数。所以没有理由使用新的。

换个角度来看——假设您要执行 Activity a = new Activity()。操作系统怎么知道你做了那个,并且知道它应该显示那个 Activity ?它如何知道 Activity 现在应该进入前台?它不会。需要告诉它启动了一个新的 Activity。这就是 startActivity 存在的原因。既然你无论如何都要调用它,为什么不把它也做成一个工厂方法,这样初始化和启动就是一个步骤?

关于java - 为什么我们不能使用新关键字创建 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44582309/

相关文章:

android - 将 Android POST 数据从 Packet Capture 应用程序保护到 Web 服务器 API

android - 集成google plus android报错

java - 紧密耦合的 fragment 在 Android 中可以吗(在某些情况下)?

java - 如何以编程方式在 Eclipse 插件中添加右键菜单

Java Socket 为什么服务器无法回复客户端

Android:面临Errorjava.lang.ClassCastException

Android 始终处于最活跃状态

java - Spring boot - 没有嵌入式tomcat的Rest Call客户端

java - 将基类对象转换为扩展基类的类时出现 ClassCastException

android - 想要在 webview android 中完成 url 加载后将 webview 重定向到其他 Intent