《android面试题库.docx》由会员分享,可在线阅读,更多相关《android面试题库.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 android面试题库android面试题篇一 1.android 中线程与线程,进程与进程之间如何通信 1)、一个 Android 程序开头运行时,会单独启动一个 Process 。 默认状况下,全部这个程序中的 Activity 或者 Service 都会跑在这个 Process 。 默认状况下,一个 Android 程序也只有一个 Process ,但一个 Process 下却可以有很多个 Thread。 2 )、一个 Android 程序开头运行时,就有一个主线程 Main Thread 被创立。该线程主要负责 UI 界面的显示、更新和控件交互,所以又叫 UI Thread 。 一个
2、 Android 程序创立之初,一个 Process 呈现的是单线程模型 即 Main Thread ,全部的任务都在一个线程中运行。所以, Main Thread 所调用的每一个函数,其耗时应当越短越好。而对于比拟费时的工作,应当设法交给子线程去做,以避开堵塞主线程(主线程被堵塞,会导致程序假死现象)。 3 )、 Android 单线程模型: Android UI 操作并不是线程安全的并且这些操作必需在 UI 线程中执行。假如在子线程中直接修改 UI ,会导致特别。 2.Android dvm 的进程和 Linux 的进程 , 应用程序的进程是否为同一个概念 DVM 指 dalivk 的虚拟
3、机。每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。而每一个 DVM 都是在 Linux 中的一个进程,所以说可以认为是同一个概念。 3.sim 卡的 EF 文件有何作用 sim 卡的文件系统有自己标准,主要是为了和手机通讯, sim 本身可以有自己的操作系统,EF 就是作存储并和手机通讯用的 4.android 中的动画有哪几类,它们的特点和区分是什么 ? 两种,一种是 Tween 动画、还有一种是 Frame 动画。 Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透亮度的变化 ; 另一种 Frame 动画,传统的动画
4、方法,通过挨次的播放排列好的图片来实现,类似电影。 5.描述handler 机制的原理 andriod供应了 Handler 和 Looper 来满意线程间的通信。 Handler 先进先出原则。Looper类用来治理特定线程内对象之间的消息交换(Message Exchange)。 1)Looper: 一个线程可以产生一个Looper对象,由它来治理此线程里的Message Queue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。 3
5、)Message Queue(消息队列):用来存放线程放入的消息。 4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。 android面试题篇二 1. 如何将 SQLite 数据库 (dictionary.db 文件 ) 与 apk 文件一起公布 ? 解答:可以将 dictionary.db 文件复制到 Eclipse Android 工程中的 res aw 名目中。全部在 res aw 名目中的文件不会被压缩,这样可以直接提取该名目中的文件。可以将 dictionary.db 文件复制到 res aw 名目中 2
6、. 如何将翻开 res aw 名目中的数据库文件 ? 解答:在 Android 中不能直接翻开 res aw 名目中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或 SD 卡的某个名目中,然后再翻开该数据库文件。复制的根本方法是使用getResources().openRawResource 方法获得 res aw 名目中资源的 InputStream 对象,然后将该InputStream 对象中的数据写入其他的名目中相应文件中。在 Android SDK 中可以使用SQLiteDatabase.openOrCreateDatabase 方法来翻开任意名目中的 SQLite 数据
7、库文件。 3. 在 android 中 mvc 的详细表达 MVC 是 Model,View,Controller 的缩写,从上图可以看出 MVC 包含三个局部: . 模型( Model )对象:是应用程序的主体局部,全部的业务规律都应当写在该层。 . 视图( View )对象:是应用程序中负责生成用户界面的局部。也是在整个MVC 架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。 . 掌握器( Control )对象:是依据用户的输入,掌握用户界面数据显示及更新 Model 对象状态的局部,掌握器更重要的一种导航功能,想用用户动身的相关大事,交给 M 哦得了处理。 Android
8、鼓舞弱耦合和组件的重用,在 Android 中 MVC 的详细表达如下 1) 视图层( view ):一般采纳 xml 文件进展界面的描述,使用的时候可以特别便利的引入,固然,如何你对 android 了解的比拟的多了话,就肯定可以想到在 android 中也可以使用JavaScript+html 等的方式作为 view 层,固然这里需要进展 Java 和 JavaScript 之间的通信,幸运的是, android 供应了它们之间特别便利的通信实现。 2) 掌握层( controller ): android 的掌握层的重任通常落在了众多的 acitvity 的肩上,这句话也就暗含了不要在
9、acitivity 中写代码,要通过 activity 交割 model 业务规律层处理,这样做的另外一个缘由是 android 中的 acitivity 的响应时间是 5s ,假如耗时的操作放在这里,程序就很简单被回收掉。 3) 模型层( model ):对数据库的操作、对网络等的操作都应当在 model 里面处理,固然对业务计算等操作也是必需放在的该层的。 android面试题篇三 1、Android中五种数据存储方式分别是什么?他们的特点? Android供应了五种存取数据的方式 1)SharedPreference,存放较少的五种类型的数据,只能在同一个包内使用,生成XML的格式存放在
10、设备中; 2)SQLite数据库,存放各种数据,是一个轻量级的嵌入式数据库; 3)File文件,通过读取写入方式生成文件存放数据; 4)ContentProvider,主要用于让其他应用程序使用保存的数据; 5)通过网络猎取数据和写入数据到网络存储空间。 2、说说 android 中 mvc 的详细表达 mvc是model,view,controller的缩写,mvc包含三个局部: 模型(model)对象:是应用程序的主体局部,全部的业务规律都应当写在该层。 视图(view)对象:是应用程序中负责生成用户界面的局部。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。
11、掌握器(control)对象:是依据用户的输入,掌握用户界面数据显示及更新model对象状态的局部,掌握器更重要的一种导航功能,响应用户动身的相关大事,交给m层处理。 android鼓舞弱耦合和组件的重用,在android中mvc的详细表达如下: 1)视图(view):一般采纳xml文件进展界面的描述,使用的时候可以特别便利的引入。 2)掌握层(controller):android的掌握层的重任通常落在了众多的acitvity的肩上,这句话也就暗含了不要在activity中写过多的代码,要通过activity交割model业务规律层处理,这样做的另外一个缘由是android中的activit
12、y的响应时间是5s,假如耗时的操作放在这里,程序就很简单被回收掉。 3)模型层(model):对数据库的操作、对网络等的操作都应当在model里面处理,固然对业务计算等操作也是必需放在的该层的。 3、简述SharedPreferences存储方式以及SharedPreferences与SQLite数据库的区分。 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简洁的配置信息。其存储位置在/data/data/包名/shared_prefs名目下。 SharedPreferences对象本身只能读取数据而不支持写入数据,存储修改是通过Editor对象实现。 SharedPreferences对象与SQLite数据库相比,免去了创立数据库,创立表,写SQL语句等诸多操作,相对而言更加便利,简洁。 但是SharedPreferences也有其自身缺陷,比方其职能存储boolean,int,float,long和String五种简洁的数据类型,比方其无法进展条件查询等。 所以不管SharedPreferences的数据存储操作是如何简洁,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。