Android背诵87题-总结
### Android背诵87题-总结 #### 一、Android DVM与Linux 进程的关系 **DVM**,即Dalvik Virtual Machine(Dalvik虚拟机),是Android平台上的一个关键组成部分,它负责执行Android应用的字节码。每一个Android应用程序都在它自己的进程中运行,并且拥有一个独立的Dalvik虚拟机实例。这意味着每个应用程序都会有一个专用的DVM来运行其代码,这些DVM在Linux环境中表现为不同的进程。也就是说,每一个DVM实例实际上就是一个Linux进程。这样的设计有助于提高安全性,确保不同应用程序之间相互隔离。 #### 二、SIM卡的EF文件的作用 **SIM卡**(Subscriber Identity Module,用户身份模块)是一种用于移动电话的身份验证设备。SIM卡内部包含了一个文件系统,该文件系统遵循特定的标准和规范,主要用于与移动设备进行通讯。其中,**EF**(Elementary File,基本文件)是在SIM卡文件系统中用于存储特定类型的数据的文件。例如,EF_ADN用于存储地址簿号码,EF_SMS用于存储短信等。EF文件的主要作用是作为存储媒介,并支持与手机之间的数据交互。 #### 三、嵌入式操作系统的内存管理 嵌入式操作系统中的内存管理技术主要有以下几种: 1. **页式管理**:将内存划分为固定大小的页面,程序也按照相同的大小被划分为页面,通过页表映射物理内存。 2. **段式管理**:根据程序的逻辑结构将其划分为若干个段,每一段都有不同的访问权限和保护机制。 3. **段页式管理**:结合了页式管理和段式管理的优点,首先将程序分成多个段,然后将每个段进一步划分为多个页面。 这些技术都依赖于硬件中的MMU(Memory Management Unit,内存管理单元)来完成地址转换,以及利用虚拟地址空间来提高内存使用的灵活性和效率。 #### 四、嵌入式实时操作系统与Android **嵌入式实时操作系统**(RTOS)是指能够对外部事件做出快速响应的操作系统,分为硬实时和软实时两种。硬实时系统要求严格的截止时间,而软实时系统则允许一定程度的时间延迟。**Android操作系统**虽然具备一定的实时特性,但由于它是基于Linux内核构建的,并不完全符合实时操作系统的要求,因此通常被认为是软实时系统。 #### 五、短信长度限制 一条最长的短信可以占用的空间取决于其内容的编码方式。对于中文短信而言,由于采用的是双字节编码,一条短信的最大长度约为70个字符(包括标点符号),而英文短信由于使用单字节编码,其最大长度为160个字符。通常情况下,短信的长度限制为160个字节。 #### 六、Android中的动画分类及其特点 Android中的动画主要分为两大类: 1. **补间动画**:这种动画技术使得视图组件能够在移动、放大、缩小以及产生透明度变化等方面表现出动态效果。它不需要预先准备每一帧的画面,而是通过计算实现过渡效果。 2. **逐帧动画**:传统意义上的动画方法,通过顺序播放一系列预设好的图片来模拟连续的动作。这种动画需要预先准备好每一帧的画面,因此相对于补间动画来说更为耗资源。 #### 七、Handler机制原理 **Handler机制**是Android中用于实现线程间通信的核心机制之一。它主要包括以下几个组件: 1. **Looper**:负责在一个线程中管理MessageQueue。 2. **Handler**:用于向MessageQueue发送消息,以及从Looper接收消息。 3. **MessageQueue**:存储等待处理的消息。 4. **Thread**:UI线程通常是主线程,Android会在启动时为它创建一个MessageQueue。 Handler机制遵循先进先出的原则,确保消息按顺序处理。 #### 八、MVC模式在Android中的应用 **MVC**(Model-View-Controller)模式是一种常见的软件架构模式,适用于许多类型的项目,包括Android应用。它将应用程序分为三个主要部分: 1. **模型**(Model):负责业务逻辑和数据处理。 2. **视图**(View):负责显示数据和处理用户输入。 3. **控制器**(Controller):连接模型和视图,处理用户交互并更新视图。 在Android中,Activity可以看作是控制器的一部分,负责处理用户输入并更新视图。 #### 九、Activity的生命周期 Activity是Android应用中的四大组件之一,代表一个屏幕界面。它具有六个主要的生命周期回调方法: 1. `onCreate()`:创建Activity时调用。 2. `onStart()`:Activity变为可见时调用。 3. `onResume()`:Activity变为前台并获得焦点时调用。 4. `onPause()`:Activity失去焦点但仍然可见时调用。 5. `onStop()`:Activity完全不可见时调用。 6. `onDestroy()`:Activity被销毁时调用。 #### 十、Activity属性设定 要将一个Activity设置为对话框形式或半透明形式,可以在AndroidManifest.xml文件中通过指定主题来实现: ```xml <activity android:name=".YourActivity" android:theme="@android:style/Theme.Dialog"> </activity> ``` 或 ```xml <activity android:name=".YourActivity" android:theme="@android:style/Theme.Translucent"> </activity> ``` 这两种设置分别会使Activity以对话框的形式弹出,或以半透明的形式显示。 #### 十一、Android系统的架构 Android系统的架构分为四层: 1. **应用程序层**:包含预装的应用程序和开发者自定义的应用程序。 2. **应用程序框架层**:提供API和服务,支持应用程序层的功能。 3. **系统运行库层**:包括核心库和Android Runtime。 4. **Linux核心层**:提供底层硬件驱动和支持服务。 #### 十二、Android常用的五种布局 1. **LinearLayout**(线性布局):按照垂直或水平方向线性排列其内部的视图组件。 2. **RelativeLayout**(相对布局):通过定义视图组件相对于其他视图的位置来布局。 3. **FrameLayout**(帧布局):将所有视图堆叠在一起,后面添加的视图覆盖前面的视图。 4. **ConstraintLayout**(约束布局):通过定义视图组件之间的约束关系来进行布局。 5. **GridLayout**(网格布局):以表格的形式来组织视图组件。 以上内容概述了Android开发中的一些基础知识点和技术细节,希望对您的学习有所帮助。
剩余9页未读,继续阅读
- 酱油砖家2015-12-04挺不错的资源 无论是面试还是理论知识都很有用
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助