我刚开始学习Android Studio。根据 Android developer 用户可见的所有活动都发生在onStart和onStop之间。 为什么文本“onCreate”写在我的简单程序中,在第一次运行时显示?
public class MainActivity extends AppCompatActivity {
private TextView texten = null;
private void print(String text) {
String line = text + "\n";
texten.setText(texten.getText() + line);
}
DecimalFormat dec = new DecimalFormat("0.0000");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
texten = new TextView(this);
texten.setText("");
setContentView(texten);
print("onCreate");
}
...
答案 0 :(得分:1)
如果您看到活动生命周期,则要在活动创建时调用的第一个方法是onCreate()
。生命周期分为以下三个部分。
活动的整个生命周期发生在第一次调用onCreate(Bundle)
到最后一次调用onDestroy()
之间。活动将在onCreate()
中执行“全局”状态的所有设置,并释放onDestroy()
中的所有剩余资源。例如,如果它有一个在后台运行的线程从网络下载数据,它可以在onCreate()
中创建该线程,然后在onDestroy()
中停止该线程。
活动的可见生命周期发生在对onStart()
的调用与对onStop()
的相应调用之间。在此期间,用户可以在屏幕上看到活动,尽管它可能不在前台并与用户交互。在这两种方法之间,您可以维护向用户显示活动所需的资源。例如,您可以在BroadcastReceiver
中注册onStart()
以监控影响您的用户界面的更改,并在用户不再看到您显示的内容时在onStop()
中取消注册。 onStart()
和onStop()
方法可以多次调用,因为活动对用户可见并且隐藏。
活动的前景生命周期发生在对onResume()
的调用与对onPause()
的相应调用之间。在此期间,活动位于所有其他活动之前并与用户交互。活动可以经常在恢复和暂停状态之间进行 - 例如,当设备进入休眠状态,交付活动结果时,何时传递新意图 - 因此这些方法中的代码应该相当轻量级。
如果您看到onCreate
的说明,请说 -
首次创建活动时调用。这是您应该执行所有常规静态设置的地方:创建视图,将数据绑定到列表等。此方法还为您提供包含活动先前冻结状态的Bundle(如果有)。始终紧跟onStart()。
onCreate
是我们设置观点的地方。完成此操作后,下一次回调即onStart
,您可以在其中看到onCreate
中的视图创建。
所以,这是您的答案:您正在onCreate
创建视图,该视图在执行onStart
后显示。不管你在onCreate
做什么都没有明显效果。您正在设置文本,这意味着创建视图,一旦活动可见,它就会显示。