这是我在StackOverflow找到的一段解释
onCreate():
The
onCreate()
method in aFragment
is called after theActivity
’sonAttachFragment()
but before thatFragment
’sonCreateView()
.
In this method, you can assign variables, get
Intent
extras, and anything else that doesn’t involve the View hierarchy (i.e. non-graphical initialisations). This is because this method can be called when theActivity
’sonCreate()
is not finished, and so trying to access the View hierarchy here may result in a crash.
onCreateView():
After the
onCreate()
is called (in theFragment
), theFragment
’sonCreateView()
is called. You can assign yourView
variables and do any graphical initialisations. You are expected to return aView
from this method, and this is the main UI view, but if yourFragment
does not use any layouts or graphics, you can returnnull
(happens by default if you don’t override).
onActivityCreated():
As the name states, this is called after the
Activity
’sonCreate()
has completed. It is called afteronCreateView()
, and is mainly used for final initialisations (for example, modifying UI elements). This is deprecated from API level 28.
To sum up…
… they are all called in the
Fragment
but are called at different times.
The
onCreate()
is called first, for doing any non-graphical initialisations. Next, you can assign and declare anyView
variables you want to use inonCreateView()
. Afterwards, useonActivityCreated()
to do any final initialisations you want to do once everything has completed.
主要就是说:
onCreate():
该
onCreate()
在的方法Fragment
是后叫Activity
的onAttachFragment()
,但在这之前Fragment
的onCreateView()
。
在此方法中,您可以分配变量、获取
Intent
附加项以及任何其他不涉及视图层次结构的内容(即非图形初始化)。这是因为可以在Activity
’sonCreate()
未完成时调用此方法,因此尝试访问此处的 View 层次结构可能会导致崩溃。
onCreateView():
在之后
onCreate()
被调用(在Fragment
)的Fragment
的onCreateView()
叫。您可以分配View
变量并进行任何图形初始化。您应该View
从此方法返回 a ,这是主 UI 视图,但如果您Fragment
不使用任何布局或图形,则可以返回null
(如果不覆盖,默认情况下会发生)。
onActivityCreated():
顾名思义,这是在
Activity
’sonCreate()
完成后调用的。它在 之后调用onCreateView()
,主要用于最终的初始化(例如,修改 UI 元素)。这已从 API 级别 28 开始弃用。
综上所述…
…它们都被调用,
Fragment
但在不同的时间被调用。
首先
onCreate()
调用 ,用于进行任何非图形初始化。接下来,您可以分配和声明View
要在onCreateView()
. 之后,用于onActivityCreated()
在一切完成后进行您想要进行的任何最终初始化。
生命周期图:
区别
If your view is static, then moving any code to the onActivityCreated method is not necessary. But when you - for instance, fill some lists from the adapter, then you should do it in the onActivityCreated method as well as restoring the view state when setRetainInstance used to do so.
Also accessing the view hierarchy of the parent activity must be done in the onActivityCreated, not sooner.
这是stackoverflow的一个问答的答案,
原文的链接
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
分享读者
作者2013年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,18年四月份进了阿里一直到现在。
被人面试过,也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!
我们整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。
主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!