android运行main方法
Ⅰ 【framework】ATMS启动流程
ATMS,全称ActivityTaskManagerService,是Android系统中用于管理Activity及其容器(任务、堆栈、显示等)的组件。ATMS在Android10中出现,由原来的AMS(ActivityManagerService)分离而来,承担了部分AMS职责。因此,在AMS初始化过程中(即AMS启动流程),伴随着了ATMS的初始化。本文主要介绍ATMS的启动流程和初始化过程。
ATMS的启动流程如下:
1. main方法:在SystemServer.java文件的main方法中启动。
2. run方法:SystemServer.java文件中的run方法执行。
3. startBootstrapServices方法:SystemServer.java文件内的SystemServer类中调用。
4. startService方法:SystemServiceManager.java文件内的SystemServiceManager类执行。
5. ATMS.Lifecycle方法:在ActivityTaskManagerService.Lifecycle.java文件的ATMS类中调用onStart()方法初始化。
在ATMS的启动过程中,通过ServiceManager.addService将Context.ACTIVITY_TASK_SERVICE与ATMS绑定,使得其他进程能够获取ATMS实例。
ATMS的初始化过程如下:
1. 构造方法:在ActivityTaskManagerService.java文件中调用。
2. start方法:在ATMS构造方法中,由Lifecycle类的onStart()方法调用,onStart()方法被SystemServiceManager类的startService()方法调用。start()方法创建了mInternal,它是LocalService类(ActivityTaskManagerInternal的子类)的实例。
3. initialize方法:在AMS的构造方法中调用ATMS的initialize()方法进一步进行初始化。
4. 方法:在AMS的start()方法中调用ATMS的()方法进一步进行初始化。
5. ActivityStartController:作为ATMS的重要成员,控制了Activity的启动。深入研究ActivityStartController的构造方法。
6. DefaultFactory:作为ActivityStarter的静态内部类,负责ActivityStarter的创建和回收。深入研究DefaultFactory类。
Ⅱ Android中如果main方法被声明为private会怎样
main()使程序的主入口,也是程序必须运行的通道,所以声明private会报错。
Ⅲ Android studio怎么新建并运行普通的java类,就是那种带main方法的
如果不添加配置直接在Android的项目中创建一个带有main函数的类是无法当做Java Application运行的。
当在写Android的应用的时候需要测试一下和Android本身无关的代码,只是纯Java代码而已,完全用不着开启Android模拟器,如果想直接运行Java代码,是会报错。
Ⅳ 怎么打开android项目里的 main.xml文件
从源文件!打开方式用记事本!或者导入到开发工具里面双击就打开了。
main.xml在源代码源码如下:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//R.layout.main,就是在R.java中的R类定义的layout中main,格式为:R.layout.<layout的xml文件名字>,就是对应的res/layout/main.xml文件。
setContentView(R.layout.main);
TextView myTextView = (TextView) findViewById(R.id.myTextView);
myTextView.setText("我的Activity");
Button myButton = (Button) findViewById(R.id.myButton);
myButton.setText("我的按钮");
}