为什么onCreate()
优先执行所有主要应用程序任务?为什么不选择onResume()
或onStart()
?为什么只有onCreate()
?我试着做一些主要的任务,比如绑定findViewById()
设置文本到文本视图等等。他们都工作得很好。为什么我们总是倾向于在onCreate()
中执行该任务?
OnCreate是进入活动的第一个入口点,因此从逻辑上讲,在这里尽可能多地进行初始化是有意义的。通常情况下,需要使用更高优先级进行配置——崩溃报告服务、依赖项注入等,这些情况会升级到自定义应用程序类。
根据文件
protected void onCreate(Bundle savedInstanceState(
在活动启动时调用这是大多数初始化应该进行的地方:调用setContentView(int(来扩展活动的UI,使用findViewById(int(以编程方式与UI中的小部件交互。。。
所以,我想可以公平地说,大多数初始化都将在onCreate内部完成,这通常意味着,如果你将其放入一个可以重复执行的生命周期方法中,这可能被认为是多余的,因为你会重复为变量分配相同的值,除非你真的想这样做。
然而,延迟初始化也是一个需要记住的概念,能够在onCreate中初始化某些东西并不总是意味着你应该这样做,通常情况下,推迟初始化直到你真正需要实例。
关于
我试着做一些主要任务,比如绑定findViewById((,设置文本到文本视图等等。他们都工作得很好。
他们肯定会的,findViewById总是可以使用的,并且不限于在onCreate内部,事实上,findViewById的结果甚至不必分配给变量就可以使用它