公认OpenGLes是入门很难,难在哪里,我认为,初学时过分追求对于OpenGLes本身API的学习,而忽视了其只是作为一种3D渲染的手段工具,就像我们学汽车一样,我们首先是会开了汽车,然后逐渐了解汽车的内部构造。而不是先去了解构造,然后再去学车,这样会打消积极性。
初学OpenGLes最难得恐怕就是其内部的执行调用顺序了
初始建立一个OpenGLes的文件,只有一个activity类,内部代码也只有oncreate方法
在AndroidManifest.xml文件中的<intent-filter>元素中有这么两句:
当双击应用时,系统会将这个点击时间包装成一个Intent,该Intent包含两个参数,如上所述的两个参数(action,category)
被传递给应用之后,在应用的功能清单文件(AndroidManifest.xml)中寻找与该意图匹配的意图过滤器(intent-filter),如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据
<activity>元素的”name“属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行到该类的onCreate方法,
此onCreate方法是重写父类Activity的onCreate方法而实现的。onCreate方法用来初始化Activity实例对象。
其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作。
在实现自己定义的Activity子类的onCreate方法时一定要记得调用该方法,以确保能够绘制界面。
setContentView(R.layout.activity_main)的作用是加载一个view。该方法中传入的参数是”R.layout.activity_main“,其含义为R.java类中静态内部类layout的静态常量activity_main的值
这以上就是最开始activity的方法
然而,在程序执行的过程中会面临用户突然回到主菜单等情况,就产生了各种其他方法
以上是activity的执行过程,在一个activity从start到shut down 中间会pause,stop等状态。
往往在activity中还要重写onpause,onstop.....等方法其目的都是用来保存当前activity的状态信息
总而言之。在我看来activity就像是一个分配工作的调度者,他接收各种intent,各种用户反馈交互产生的信息,然后做出判断,并交由下边的执行者来执行(比如view之间的切换)