赞
踩
用户点击应用图标后,Android应用的完全启动过程包括以下步骤:
启动器图标点击:用户点击应用程序的图标,触发启动器(Launcher)加载应用程序的入口Activity。
启动器加载:启动器根据应用程序的包名,在设备上查找对应的应用程序,并加载应用程序的数据(包括应用程序的图标、名称等)。
启动Activity:启动器通过Intent将启动请求发送给Android系统(Android Manager System),并指定要启动的Activity。系统会根据Intent中的信息找到并启动对应的Activity组件。
Zygote进程启动:当系统收到启动请求后,首先会启动Zygote进程。Zygote进程是专门负责孵化新的应用进程的进程,它是所有应用进程的“父进程”。
应用进程创建:Zygote进程将会对应用程序的进程进行孵化,创建一个新的应用进程。
应用进程初始化:新的应用进程在创建后,会进行一系列的初始化工作,包括应用程序的类加载、资源加载、创建Application对象等。
启动Activity的生命周期方法:当应用启动后,系统会依次调用启动的Activity的生命周期方法,包括onCreate()、onStart()、onResume()。在这些方法中,开发者可以进行一些初始化操作和准备工作。在onCreate()方法中,可以进行一些初始化操作,比如设置布局、绑定数据等;在onStart()方法中,Activity变为可见状态;在onResume()方法中,Activity准备好和用户进行交互。
布局绘制:在调用完Activity的生命周期方法后,系统会执行Activity的布局,并将其显示在屏幕上。
交互与响应:当Activity显示在屏幕上后,用户可以与应用程序进行交互。应用程序会根据用户的操作做出响应,如点击按钮、输入文本等。
需要注意的是,启动过程会因为设备性能、应用的复杂性和启动流程的差异而有所不同,以上是一个大致的启动流程。
参考:https://blog.csdn.net/wq6ylg08/article/details/105907267
一个APP应用有2个完全不透明的Activity:Activity A和Activity B,其中Activity A是主活动。
首先从手机桌面启动该APP应用,即创建加载运行Activity A,该应用各活动生命周期是:A.onCreate() A.onStart() A.onResume()
接着点击Activity A中的一个跳转到Activity B的按钮,该应用各活动生命周期是:A.onPause() B.onCreate() B.onStart() B.onResume() A.onStop()
注意:如果Activity B是透明的或者Activity B并未完全遮住Activity A,那么上述操作点击Activity A中的一个跳转到Activity B的按钮的生命周期中A.onStop()是不会被调用的,因为Activity A还可见,所以Activity A不能被停止。
再接着点击返回按钮销毁Activity B并返回到Activity A,该应用各活动生命周期是:B.onPause() A.onRestart() A.onStart() A.onResume() B.onStop() B.onDestroy()
最后再次点击返回按钮销毁Activity A并返回到手机桌面,该应用各活动生命周期是:A.onPause() A.onStop() A.onDestroy()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。