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("我的按鈕");
}