java Android为什么在onCreate中显示文本
我刚刚开始学习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");
}
# 1 楼答案
如果您看到活动生命周期,那么在创建活动时要调用的第一个方法是
onCreate()
。生命周期分为以下三个部分活动的整个生命周期发生在对
onCreate(Bundle)
的第一次调用到对onDestroy()
的最后一次调用之间。活动将在onCreate()
中完成“全局”状态的所有设置,并在onDestroy()
中释放所有剩余资源。例如,如果它有一个线程在后台运行以从网络下载数据,它可能会在onCreate()
中创建该线程,然后在onDestroy()
中停止该线程活动的可见生存期发生在对
onStart()
的调用到对onStop()
的相应调用之间。在此期间,用户可以在屏幕上看到活动,尽管它可能不在前台并与用户交互。在这两种方法之间,您可以维护向用户显示活动所需的资源。例如,您可以在onStart()
中注册BroadcastReceiver
以监视影响您的UI的更改,并在用户不再看到您显示的内容时在onStop()
中注销它。随着活动对用户可见和隐藏,可以多次调用onStart()
和onStop()
方法活动的前台生存期发生在对
onResume()
的调用到对onPause()
的相应调用之间。在此期间,活动位于所有其他活动之前,并与用户交互。活动可以经常处于恢复状态和暂停状态之间,例如,当设备进入睡眠状态时,当传递活动结果时,当传递新的意图时,因此这些方法中的代码应该是相当轻量级的如果您看到
onCreate
的描述,它会说-第一次创建活动时调用。这是您应该执行所有常规静态设置的地方:创建视图、将数据绑定到列表等。此方法还为您提供包含活动先前冻结状态(如果存在)的捆绑包。始终后跟onStart()
onCreate
是我们设置视图的地方。完成此操作后,下一个回调是onStart
,在调用时,您可以在onCreate
中看到视图create因此,以下是您的答案:您正在
onCreate
中创建视图,该视图在执行onStart
之后显示。这并不是说你在onCreate
中做的任何事情都没有明显的效果。您正在设置文本,这意味着创建视图,并在活动可见时显示该视图