Android知识简单测试题

上周去了一场Android考试,前面基础的题目很简单却答不上来,看过跟做过,懂了和会讲差距还是很大的,下面整理一下还记得的几个问题,自勉!

还是觉得,要好好看官方文档才是正道的啊!

1. Android解析XML的三种方式:SAX,DOM,PULL

这篇文章里写的挺好: Android中解析XML 

2. Android体系结构,共分四层:

  1)Linux内核:硬件和其他软件堆层的一个隔离抽象层,提供安全机制,内存管理,进程管理,网络协议堆栈,驱动程序等。

  2)中间件层,由函数库和Android运行时组成,函数库主要提供一些基于C/C++的函数库。Android运行时,包括核心库和Dalvik虚拟机。前者提供Android系统特有的函数功能和Java语言函数功能,后者实现基于linux内核的线程管理和底层内存管理。

  3)应用程序框架:提供Android平台基本的管理功能和组件重用集机制。

  4) 应用程序:提供一系列的核心应用程序,包括电子邮件客户端、浏览器、通讯录和日历等。

3. Android中的android:lanuchmode有几种形式,各自的具体含义是什么?

  <activity>的launchmode属性有四种加载模式:

"standard" (默认模式)

"singleTop"

"singleTask"

"singleInstance"

具体的区别还是学习牛人总结的吧,就不在copy了:基础总结篇之二:Activity的四种launchMode 

4. Intent和PendingIntent的区别联系,以及后者常用的使用场景?

Intent 表示一个目的,第一个参数表示所在类,第二个参数表示目标类。

 PendingIntent即是一个Intent的描述 。

PendingIntent和Intent的区别:PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情。 换种说法Intent字面意思是意图,即我们的目的,我们想要做的事情,在Activity中,我们可以立即执行它,PendingIntent相当于对Intent执行了包装,我们不一定要马上执行它,我们将其包装后,传递给其他Activity或Application。这时,获取到PendingIntent的Application 能够根据里面的Intent来得知发出者的意图,选择拦击或者继续传递或者执行。

PendingIntent就是一个可以在满足一定条件下执行的Intent,它相比于Intent的优势在于自己携带有Context对象,这样他就不必依赖于某个activity才可以存在。

具体点的解释可以参见:Android中pendingIntent的深入理解 

5. 解释一下Android单线程模型?

其实,不是等太简练的介绍清楚:找了两篇参考博客:浅析Android单线程模型 Android的单线程模型

6. AndoridMannifest.XML的作用:专家专栏:AndroidManifest.xml文件详解

         AndroidManifest.xml主要包含以下功能:

  1. 说明application的java 数据包,数据包名是application的唯一标识;
  2. 描述application的component;
  3. 说明application的component运行在哪个process下;
  4. 声明application所必须具备的权限,用以访问受保护的部分API,以及与其他application的交互;
  5. 声明application其他的必备权限,用以component之间的交互;
  6. 列举application运行时需要的环境配置信息,这些声明信息只在程序开发和测试时存在,发布前将被删除;
  7. 声明application所需要的AndroidAPI的最低版本级别,例如1.0,1.1,1.5等;
  8. 列举application所需要链接的库;

7. Android数据存储五种方式总结

  1. 使用SharedPreferences存储数据;
  2. 文件存储数据;
  3. SQLite数据库存储数据;
  4. 使用ContentProvider存储数据;
  5. 网络存储数据;

MissR:stay
原文地址:https://www.cnblogs.com/permanent2012moira/p/4069829.html