开发者社区> 问答> 正文

Andorid如何理解额 onCreate()和setContentView()?

super.onCreate是调用父类方法画界面的,setContentView(R.layout.main)是加载界面的。感觉两个功能有点重复

展开
收起
蛮大人123 2016-03-12 16:51:55 2687 0
2 条回答
写回答
取消 提交回答
  • onCreate()函数是在activity初始化的时候调用的,通常情况下,我们需要在onCreate()中调用setContentView(int)函数填充屏幕的UI,一般通过findViewById(int)返回xml中定义的视图或组件的ID。子类在重写onCreate()方法的时候必须调用父类的onCreate()方法,即super.onCreate(),否则会抛出异常。 但是,我们必须要注意的是,在onCreate()函数里我们需要配置一些必要的信息,但是并不是所有的事情都能在这里做。我们知道,一个activity启动调用的第一个函数就是onCreate,它主要做这个activity启动时一些必要的初始化工作,这个函数调用完后,这个activity并不是说就已经启动了,或者是跳到前台了。而是还需要其他的大量工作,我们知道:onCreate之后还有onRestart()和onStart()等,实际上onStart()调用完毕了这个activity还没有完全启动,也只是前台可见,直到 onResume() 调用后这个onCreate才算终于启动。既然这样,那么在一个activity真正启动之前任何相当耗时的动作都会导致activity启动缓慢,特别是在onCreate里面耗时长的话可能导致极差的用户体验。
    2019-07-17 19:01:12
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    super.onCreate的作用是调用其父类Activity的onCreate方法来实现对界面绘制需要的一些系统参数进行初始化和设定
    setContentView(R.layout.main)的作用是设置一个显示一个界面

    2019-07-17 19:01:12
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Android组件化实现 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载