android启动应用程序的过程是什么?它在运行时如何与R类交互?
最近,当我学习Android的资源管理时,我遇到了一些有趣的问题 1) 从Android运行时的内部角度来看,Android操作系统采取了哪些步骤来启动已安装的应用程序 2) R类-R类是资源静态数值的容器。但最后它是一个整数的集合。android如何在内部将这些整数映射到资源android启动应用程序的过程是什么?它在运行时如何与R类交互?,android,dalvik,internals,art-runtime,Android,Dalvik,Internals,Art Runtime,最近,当我学习Android的资源管理时,我遇到了一些有趣的问题 1) 从Android运行时的内部角度来看,Android操作系统采取了哪些步骤来启动已安装的应用程序 2) R类-R类是资源静态数值的容器。但最后它是一个整数的集合。android如何在内部将这些整数映射到资源 setContentView(R.layout.activity_main); 这里传递的setContentView()是一个int。但它映射到activity\u main.xml文件 字符串等资源也是如此。资源
setContentView(R.layout.activity_main);
这里传递的setContentView()
是一个int。但它映射到activity\u main.xml文件
字符串等资源也是如此。资源文件、代码和R类之间的连接在运行时似乎有点混乱。R类将资源id映射到编译时生成的资源,xml中的所有资源id都保存在编译时 Android API在运行时使用id查找资源本身 1) 从Android运行时的内部角度来看,需要哪些步骤 由android操作系统启动已安装的应用程序 如果应用程序在安装后第一次启动,android系统必须执行以下3个步骤
1.加载并启动应用程序
2.在应用程序启动后立即显示一个空白启动窗口&
3.为应用程序创建流程。
这些是安卓系统的职责 一旦android运行时通过上述步骤创建了应用程序进程,那么控件将与应用程序进程本身一起执行进一步的步骤,以使应用程序及其组件完全可供执行。其中包括以下内容,
1.正在创建应用程序对象。
2.启动主线程或UI线程
3.创建主活动实例。此活动通常具有用户在启动后看到的应用程序UI
4.膨胀活动中包含的视图。这包括视图组/视图层次结构中的所有视图
5.布置屏幕。
6.执行初始绘制。
2) R类-R类是一个容器,用于存储 资源。但最后它是一个整数的集合。安卓怎么样 在内部将这些整数映射到资源 Android Build system有许多工具,其中一个称为
aapt
工具,这个工具是生成R类的工具,该类包含res/目录中所有资源的资源ID。对于每种类型的资源,都有一个R子类(例如,对于所有可绘制资源,R.drawable
),对于该类型的每种资源,都有一个静态整数(例如,R.drawable.icon
)
现在你的应用程序中所有非代码的东西都在R.java中了。Android资源系统跟踪与应用程序相关的所有非代码资产,这是管理所有资源ID映射的内部系统,除此之外,Android框架还有一个名为Resources
的类,您可以使用该类访问应用程序的资源,android构建系统将其打包到R.java
通常,您可以使用getResources()
获取与应用程序关联的资源实例