Activity详细说明:https://www.cnblogs.com/jycboy/p/6367282.html
https://www.cnblogs.com/nylcy/p/6500832.html
onCreate-------------------创建
onDistroy-------------------销毁
onRestart-------------------activity不可见后,又重新可见时调用,一般这个方法之后紧跟着会调用哦你Start;
onStart--------------------activity可视
onStop------------------activity不可见
onResume-----------------可交互,获取焦点
onPause-------------------不可交互,失去焦点
MAIN指定了应用入口地址.
LAUNCHER是应用在手机桌面上的图标.
如果只设置MAIN, 没没有设置LAUNCHER, 应用可以被安装到手机, 但是在桌面看不到APP的图标, 所以就无法启动APP.
如果只设置了LAUNCHER, 而没有设置MAIN, 系统不知道应用从哪个Activity启动, 所以也就不会在桌面显示图标.
如果给多个Activity设置了MAIN和LAUNCHER, 桌面会显示多个APP图标, 点击图标会分别进入设置的Activity中.
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 ;
android.intent.action.MAIN决定应用程序最先启动的Activity,如果没有Main,则不知启动哪个Activity,故也不会有图标出现。
----------------------任务栈-----------------
Android是使用任务(Task)来管理Activity的,一个任务就是一组存放在栈里的Activity集合,这个栈被称作返回栈
打开一个activity就是 进栈;销毁一个activity就是出栈,我们操作的永远是最上层的栈;一般情况下一个应用程序对应一个任务栈;任务栈退出,但是进程还在后台,如果进程退出了,程序就真的退出了;
-------------------------------四种启动模式-------------------------------
在清单文件中,activity中设置launchMode:standard,singleTop(会检查任务栈的栈顶,如果有其他的任务,则直接服用当前任务,当前任务后面的任务全部销毁),singleTask(会检查当前任务栈,当前任务栈后面的任务全部销毁)、singleInstance(会单独创建一个任务栈,而且栈中只会有一个任务)
singleInstance:
在一个新栈中创建该Activity实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个该Activity,不管谁激活该Activity都会进入同一个栈中
------------------------------五种进程-------------------------------------
----------------------------------2种上下文-----------------
this-------中间继承了很多个类---最终继承context;在dialog对话框种只能用this;
getApplication Context()-------直接继承上下文;
----------------------------国际化--------------------------------
在res文件夹下创建不同国家语言的目录,固定写法values-zh、values-en
--------------------------样式style和主题theme--------------------------这两个的定义方式都是一样的,都是在values文件夹下的styles.xml文件夹下
样式一般作用在控件上,作用范围比较小;
主题一般作用在activity和application上;