【问题标题】:Understanding activity lifecycle了解活动生命周期
【发布时间】:2019-04-17 04:41:03
【问题描述】:

我刚刚开始体验 Android 开发(我现在正在看教程)。我查看了 Android 开发者页面上的活动生命周期,我意识到活动总是通过onResume() 方法才能对用户可见。假设我将在活动中不使用任何片段,这是否意味着大部分代码逻辑都应该在 onResume() 方法内,而我应该在一开始就在 onCreate() 内膨胀一次布局?

【问题讨论】:

  • 这真的取决于您对活动的期望。每次显示活动时,您是否有需要完成的工作?还是只在活动创建时进行一次?
  • 一次性初始化在 onCreate 中进行,有时东西的初始化可以在 onResume 中进行,这取决于 Luca 所说的您需要什么。大多数代码通常位于事件侦听器中,例如用于 UI 单击事件的 onClick。 onResume 通常保留用于注册侦听器和回调,除非您正在做一些特别的事情。在很多情况下,您的活动不会仅仅因为不需要而覆盖 onResume
  • 资源和变量的初始化应该在onCreate()中完成。因为,当 Activity 进入 onPause() 或 onStop() 时,将调用 onResume() 并且将调用相同的 variables and resource初始化和内存将被浪费。如果您的逻辑每次在活动进入后台并返回前台时运行,则根据优先级将逻辑写入 onStart() 和 onResume()。跨度>
  • 谢谢大家,我现在更明白了。只是初学者的误解

标签: android android-activity activity-lifecycle


【解决方案1】:

请参考该网站以更好地了解活动生命周期 https://developer.android.com/guide/components/activities/activity-lifecycle 这也是为了简要了解 https://www.javatpoint.com/android-life-cycle-of-activity

现在回答您的问题 onCreate() 不仅仅是为了夸大布局。 核心逻辑的主要部分写在这里,当您最小化或再次打开应用程序时会调用 onResume() 它会被一次又一次地调用,但 onCreate() 会被调用一次,除非控制不会转发给另一个活动

就像在 Java 中一样开始运行 公共静态无效主要(字符串[]参数){ }

在 Android(Activity) 中,执行的第一行将来自 onCreate() 而不是来自 onResume()

如果您将练习相同并且一次又一次地习惯此过程,那么您会更好地理解我试图告诉什么比您练习更有用,并且您的理解尝试打印吐司或登录每个状态活动生命周期,您可以在没有任何人帮助的情况下更好地理解这一点

祝编码愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2011-12-18
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多