1)从Android运行时的内部来看,android OS是通过哪些步骤来启动一个已安装的应用程序?
如果应用程序在安装后第一次启动,Android 系统必须执行以下 3 个步骤
1.加载并启动应用程序
2.在应用程序启动后立即显示一个空白启动窗口 &
3.为应用程序。
这些是android系统的职责。
一旦 android 运行时通过上述步骤创建了应用程序进程,则控制权由应用程序进程本身执行,以执行进一步的步骤以完全使应用程序及其组件可用于执行。其中包括以下内容,
1. 创建应用程序对象。
2.启动主线程或UI线程。
3. 创建主活动实例。此活动通常具有用户在启动后看到的应用程序 UI
4. 活动中包含的膨胀视图。这包括 ViewGroup/视图层次结构中的所有视图
5. 布置屏幕。
6. 执行初始抽签。
2) R 类- R 类是资源静态数值的容器。但最后它是整数的集合。android如何在内部将这些整数映射到资源?
Android Build 系统有很多工具,其中 1 个称为aapt
工具,这个工具是生成 R 类的工具,其中包含 res/ 目录中所有资源的资源 ID。对于每种类型的资源,都有一个 R 子类(例如,R.drawable
对于所有可绘制资源),并且对于该类型的每种资源,都有一个静态整数(例如,R.drawable.icon
)。
所以现在你的应用程序的所有非代码内容都在 R.java 中。Android 资源系统跟踪与应用程序关联的所有非代码资产,这是管理所有资源 ID 映射的内部系统,除此之外,Android 框架还有一个名为 的类Resources
,您可以使用该类访问应用程序的资源,R.java
由android构建系统打包成。
您通常可以使用getResources()
.