Android系统设计复习要点:从Zygote到CI/CD
需积分: 5 114 浏览量
更新于2024-07-01
1
收藏 31.77MB PDF 举报
本文是关于中科大软件学院Android系统设计的复习总结,涵盖了从系统启动流程到关键组件的介绍,以及一些相关技术的定义和作用。
在Android系统启动的过程中,首先运行BIOS加载bootloader到RAM,接着执行header.s初始化堆栈和RAM,再运行main.c设置中断描述符表(idt)和全局描述符表(gdt),从而进入内核阶段。内核创建了idle进程,通过系统文件查找并启动init.rc文件,进而启动init进程。init进程进一步启动app_process,生成Zygote进程,Zygote是Android系统的核心进程,它启动Dalvik虚拟机并加载核心类和JNI方法。Zygote还会创建System Server进程,System Server负责创建ActivityManagerService来管理activity等组件。
在复习资料中,还涉及了多个知识点的考核,包括:
1. APK的组成:APK是Android应用程序的包文件,包含了 Dex(Dalvik Executable)代码、资源文件、manifest.xml等。
2. 虚拟内存:虚拟内存是一种内存管理技术,它将物理内存和硬盘上的空间组合在一起,使得程序可以认为它拥有连续的可用内存(实际上可能分布在多个物理内存或磁盘空间中)。
3. GCC的不同版本差异:GCC(GNU Compiler Collection)的版本差异主要体现在优化级别、支持的语言特性、错误和警告信息等方面。
4. NorFlash和NandFlash的区别:NorFlash数据可直接读取,适合存储小容量程序代码;NandFlash则适合大容量数据存储,但访问速度相对较慢。
5. GPL和LGPL开源协议:GPL要求任何基于该软件的修改也必须遵循GPL发布;LGPL相对宽松,允许链接到GPL软件的非GPL软件保持原有许可。
6. JDK的作用:JDK是Java开发工具集,包含JRE(Java运行环境)以及编译、运行等工具,如javac、java、javaw等。
7. HAXM技术:HAXM是Intel的硬件加速执行管理器,利用VT技术加速Android开发,提高模拟器性能。
8. 自动构建工具Gradle:Gradle是一个灵活的构建自动化系统,支持多种语言和项目结构,采用领域特定语言(DSL)进行配置。
9. CI/CD(持续集成/持续交付/持续部署):CI/CD是用于实现应用开发高度持续自动化和监控的流程,包括代码集成、测试、部署等环节。
10. 代码混淆:代码混淆是将源代码转换成难以理解的形式,以防止逆向工程,通常包括压缩、优化和重命名等步骤。
此外,资料还提到了预校验的概念,预校验是在Java平台上为了确保代码能在Dalvik虚拟机上正确运行而进行的一种处理。
整个复习总结涵盖了Android系统启动、核心进程、开发工具和实践等多个方面,旨在帮助学习者全面理解Android系统的设计与工作原理。
2022-07-15 上传
2016-01-16 上传
2022-01-19 上传
2024-01-05 上传
2023-06-30 上传
2023-11-09 上传
2024-01-10 上传
2024-01-07 上传
2023-08-03 上传
余生.
- 粉丝: 1
- 资源: 2
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性