android:为什么启动Activity都是写的super.onCreate,大家都不写this.onCreate的吗?

2024-05-06 01:56

1. android:为什么启动Activity都是写的super.onCreate,大家都不写this.onCreate的吗?

看你写到哪里了,如果写在你自己定义的一个OnCreate(),在这个函数里写调用OnCreate的话,必然要写super.OnCreate(),否则会递归调用,
其他地方写的话,super是调用父类的,this是调用你覆盖的,
不过一般没有人会去手动调用这玩意吧,
因此一般是调用super.OnCreate()

android:为什么启动Activity都是写的super.onCreate,大家都不写this.onCreate的吗?

2. Activity onCreate()的作用是什么??

Activity onCreate()是在Activity创建时被系统调用,是一个Activity生命周期的开始;它主要做这个activity启动时一些必要的初始化工作,这个函数调用完后,这个activity并不是说就已经启动了,或者是跳到前台了。
     onCreate之后还有onRestart()和onStart()等,实际上onStart()调用完毕了这个activity还没有完全启动,也只是前台可见,直到 onResume() 调用后这个onCreate才算终于启动。
onCreate方法的完整定义如下:
public void onCreate(Bundle saveInsanceState){
    super.onCreate(saveInsanceState);
}

3. oncreate有耗时操作怎么处理

一、解决办法:
(1)在Activity启动前,尽量少做。
(2)对于布局比较复杂的时候,可以考虑不要一次性全部加载上,动态加载是一个好的办法。
(3)对于及时需要的数据,加载起来耗时的又有异常危险的,一定记得开辟一个线程来做这些动作,千万记得不要做阻塞主线程(UI线程)的任何事情。
(4)对于特殊情况下,Activity启动确实需要大量工作时候,可以考虑先加载一个简单的布局(或是Activity)来过渡.。

二、定义:
      onCreate()函数是在activity初始化的时候调用的,通常情况下,需要在onCreate()中调用setContentView(int)函数填充屏幕的UI,一般通过findViewById(int)返回xml中定义的视图或组件的ID。子类在重写onCreate()方法的时候必须调用父类的onCreate()方法,即super.onCreate(),否则会抛出异常。
       必须要注意的是,在onCreate()函数里需要配置一些必要的信息,但是并不是所有的事情都能在这里做。一个activity启动调用的第一个函数就是onCreate,主要做这个activity启动时一些必要的初始化工作,这个函数调用完后,还需要其他的大量工作,onCreate之后还有onRestart()和onStart()等,实际上onStart()调用完毕了这个activity还没有完全启动,也只是前台可见,直到 onResume() 调用后这个onCreate才算终于启动。既然这样,那么在一个activity真正启动之前任何相当耗时的动作都会导致activity启动缓慢,特别是在onCreate里面耗时长的话可能导致极差的用户体验。

oncreate有耗时操作怎么处理

4. 【安卓开发】super.onCreate(savedInstanceState);

每个activity都要进行一些必要的初始化,而这些初始化就是通过调用父类的构造函数来进行的,举个例子,生成一个空白的activity,起码有一个标题,这个标题是怎样关联和生成的,就是通过构造函数来处理的啦。

5. android工程中 super.onCreate(savedInstanceState); setContentView(R.layout.main); 这两句话是什么意思

对,没错,main就是当前项目res下的layout里的main.xml文件。setContentView就是设置当前的Activity显示的内容按main.xml布局。super.onCreate(savedInstanceState)就是调用父类的onCreate构造函数,savedInstanceState是保存当前Activity的状态信息。

android工程中 super.onCreate(savedInstanceState); setContentView(R.layout.main); 这两句话是什么意思

6. android 开发中有一句super.onCreate(savedInstanceState)我

你要是感兴趣你可以去看源码,学习阶段你不用知道为什么,你可以把super.onCreate(savedInstanceState)删除看看会有什么效果。绝B 会报错。 super.xxxxx错误,Activity fragment必须掉用 super

7. 跪求android 大神解释 为什么activity一启动立马就停了?

首先我要说下你的是if(v==button)这句代码本身就是错的,对象之间的比较请不要用 == 用 equls 进行比较
还有这段代码
Intent intent= new Intent(this,TestActivity.class);
intent.putExtra("abstractData", abstractData);
this.startActivity(intent);
我估计你的监听函数是写在一个内部类里的把
所以呢不能直接用  this  这里的这个this 是指的内部类 
打个比方你当前的这个Activity叫  OneActivity
Intent intent= new Intent(OneActivity.this,TestActivity.class);
intent.putExtra("abstractData", abstractData);
OneActivity.this.startActivity(intent);

跪求android 大神解释 为什么activity一启动立马就停了?

8. 怎么为类型Activity定义方法onCreate(Bundle)?

Activity是一个类,需要自己编写一个类继承它。
然后在你自己写的类里面添加方法。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // 这一句是固定的
        setContentView(R.layout.activity_main); 
    }