【问题标题】:What is the performance impact of onCreate() and onStart() on activity startuponCreate() 和 onStart() 对活动启动的性能影响是什么
【发布时间】:2016-05-28 07:20:54
【问题描述】:

每当创建一个新的 Activity 时,onCreate 就会被调用。其次是onStart。当活动回到屏幕上时,再次调用onStart。我知道这个基本原理。但是,启动活动时的实际区别是什么。

我的意思是说,当您单击当前活动上的某个对象时,您会通过startActivity() 方法启动一个新活动,其意图是新活动。现在 onCreate() 将被调用第二个活动,然后是 onStart()。用户何时可以看到活动?在onCreate 之后还是onStart 之后?如果它在onCreate 之后和onStart 之前可见,并且我在onStart() 中进行了一些操作,那么它将减少用户单击对象和屏幕上弹出屏幕之间的延迟。

如果我将一些数据绑定移动到 onStart 是否会干扰棒棒糖及更高版本上的默认 Activity 转换(我不确定)?

将一些代码移动到onStart 以减少点击和用户屏幕上显示的新活动之间的延迟是否是个好主意?如果是,什么样的代码可以安全地移动到onStart?比如数据绑定、数据库查询等?

任何指导将不胜感激。

【问题讨论】:

  • 您的活动内容将在 onResume() 中可见。
  • @Kirtan403 onResume() 上用户可见的活动
  • 这可能对你有帮助:stackoverflow.com/questions/6812003/…
  • 所以看起来活动在 onStart 之后可见,并且 onResume 将在 onStart 之后调用。因此 onStart 将在活动在屏幕上可见之前被调用。

标签: android performance oncreate onstart


【解决方案1】:

在 onCreate 方法中实际创建了 Activity,然后在 onStart 时调用了第二个方法 onStart,UI 实际上对用户可见,为了更好地理解 Activity,您需要了解 Activity 生命周期。

【讨论】:

  • 所以在onStart后可见。所以没有必要跳过一些内容到 onStart。只有在 Activity 停止并再次显示屏幕后某些事物需要重新初始化时。
  • 是的没错,但是不要在onStart()方法中放不必要的重物,如果可能的话应该放在onCreate()中,因为onStart()方法可能会得到调用次数。
猜你喜欢
  • 2015-12-03
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 2012-10-17
  • 2016-10-24
  • 1970-01-01
相关资源
最近更新 更多