首页 > 教育知识 > 题目解答 > android面试题

android面试题

时间:2018-05-17   来源:题目解答   点击:

【www.gbppp.com--题目解答】

android面试题 第一篇_2015年android面试题目及其答案大全

2014面试题目及其答案

1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念

DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。

2、sim卡的EF 文件有何作用

sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己的操作系统,EF就是作存储并和手机通讯用的

3、嵌入式操作系统内存管理有哪几种, 各有何特性

页式,段式,段页,用到了MMU,虚拟空间等技术

4、 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?

嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、 军事设备、 航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。

6、 android中的动画有哪几类,它们的特点和区别是什么?

两种,一种是Tween(补间)动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

7、handler机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

9、Activity的生命周期

和其他手机 平台 的应用 程序 一样,Android的应用程序 的生命周期是被统一掌控 的,也 就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习 并 适应它。

简单地说一下为什么是这样:我们手机在运行 一个应用程序的时候,有可能打进来电话 发进来短信 ,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能 ,另 外系统也不允许你占用太多资源 ,至少要保证电话功能吧,所以资源不足的时候也就有可 能被干掉。

言归正传,Activity的基本生命周期如下代码 所示:

Java代码

public class MyActivity extends Activity {

protected void onCreate(Bundle savedInstanceState);

protected void onStart();

protected void onResume();

protected void onPause();

protected void onStop();

protected void onDestroy();

}

你自己写的Activity会按需要 重载这些方法,onCreate是免不了的,在一个Activity正常启动的过程中,他们被调用的顺序是 onCreate -> onStart -> onResume, 在Activity被干掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是一个完整的生命周期,但是有人问了 ,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断 这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复 的时候onResume 。

详细介绍一下这几个方法中系统在做什么以及我们应该做什么:

onCreate: 在这里创建界面 ,做一些数据 的初始化工作

onStart: 到这一步变成用户可见不可交互 的

onResume: 变成和用户可交互 的,(在activity 栈系统通过栈的方式管理这些个

Activity的最上面,运行完弹出栈,则回到上一个Activity)

onPause: 到这一步是可见但不可交互 的,系统会停止动画 等消耗CPU 的事情 从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候 你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在 onResume里读出来,注意:这个方法里做的事情时间要短,因为下一 个activity不会等到这个方法完成才启动

onstop: 变得不可见 ,被下一个activity覆盖了

onDestroy: 这是activity被干掉前最后一个被调用方法了,可能是外面类调用finish方 法或者是系统为了节省空间将它暂时性的干掉,可以用isFinishing()来判断它,如果你有一个Progress Dialog在线程中转动,请在onDestroy里 把他cancel掉,不然等线程结束的时候,调用Dialog的cancel方法会抛 异常的。

onPause,onstop, onDestroy,三种状态 下 activity都有可能被系统干掉

为了保证程序的正确性,你要在onPause()里写上持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般都是数据库 )。实际工作中因为生命周期的变化而带来的问题也很多,比如你的应用程序起了新的线程在跑,这时候中断了,你还要去维护那个线程,是暂停还是杀掉还是数据回滚,是吧?因为Activity可能被杀掉,所以线程中使用的变量和一些界面元素就千万要注意了,一般我都是采用Android的消息机制 [Handler,Message]来处理多线程和界面交互的问题。这个我后面会讲一些,最近因为这些东西头已经很大了,等我理清思绪再跟大家分享。 ller改变了View,View会 从潜在的Model中获取数据来刷新自己。

10、让Activity变成一个窗口:Activity属性设定

讲点轻松的吧,可能有人希望做出来的应用程序是一个漂浮在手机主界面的东西,那么很 简单你只需要设置 一下Activity的主题就可以了在AndroidManifest.xml 中定义 Activity的 地方一句话:

Xml代码

1. android :theme="@android:style/Theme.Dialog"

这就使你的应用程序变成对话框的形式弹出来了,或者【android面试题】

Xml代码

1. android:theme="@android:style/Theme.Translucent"

就变成半透明的,[友情提示-.-]类似的这种activity的属性可以在android.R.styleable 类的AndroidManifestActivity 方法中看到,AndroidManifest.xml中所有元素的属性的介绍都可以参考这个类android.R.styleable

上面说的是属性名称,具体有什么值是在android.R.style中 可以看到,比如这个"@android:style/Theme.Dialog" 就对应于android.R.style.Theme_Dialog ,('_'换成'.' < --注意:这个是文章内容不是笑脸)就可以用在描述文件 中了,找找类定义和描述文件中的对应关系就都明白了。

11、 你后台的Activity被系统回收怎么办:onSaveInstanceState

当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B 这个时候A会执行

Java代码

1. public

2. void onSaveInstanceState(Bundle outState) {

3. super.onSaveInstanceState(outState);

4. outState.putLong("id", 1234567890);

5. }

public

void onSaveInstanceState(Bundle outState) {

super.onSaveInstanceState(outState);

outState.putLong("id", 1234567890);

}

B 完成以后又会来找A, 这个时候就有两种情况,一种是A被回收,一种是没有被回收,被回 收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上参数 savedInstanceState,没被收回的就还是onResume就好了。

savedInstanceState是一个Bundle对象,你基本上可以把他理解为系统帮你维护的一

个Map对象。在onCreate()里你可能会用到它,如果正常启动onCreate就不会有它,所以用的时候要判断一下是否为空。

Java代码

1. if(savedInstanceState != null){

2. long id = savedInstanceState.getLong("id");

3. }

if(savedInstanceState != null){

long id = savedInstanceState.getLong("id");

}

就像官方的Notepad教程 里的情况,你正在编辑某一个note,突然被中断,那么就把这个note的id记住,再起来的时候就可以根据这个id去把那个note取出来,程序就完整一些。这也是看你的应用需不需要保存什么,比如你的界面就是读取一个列表,那就不需要特殊记住什么,哦, 没准你需要记住滚动条的位置...

12、 调用与被调用:我们的通信使者Intent

要说Intent了,Intent就是这个这个意图 ,应用程序间Intent进行交流,打个电话啦,来个 电话啦都会发Intent, 这个是Android架构的松耦合的精髓部分,大大提高了组件的复用性,比如你要在你的应用程序中点击按钮,给某人打电话,很简单啊,看下代码先:

Java代码

1. Intent intent = new Intent();

2. intent.setAction(Intent.ACTION_CALL);

3. intent.setData(Uri.parse("tel:" + number));

4. startActivity(intent);

Intent intent = new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:" + number));

android面试题 第二篇_android开发面试题(强烈推荐!!!)

1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念

DVM指Dalvik的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。

2、sim卡的EF 文件有何作用

sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本

身可以有自己的操作系统,EF就是作存储并和手机通讯用的

3、嵌入式操作系统内存管理有哪几种,各有何特性 ?

页式,段式,段页,用到了MMU,虚拟空间等技术

4、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?

嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、

航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。

5、一条最长的短信息约占多少byte?

中文70(包括标点),英文160个字节

6、 android中的动画有哪几类,它们的特点和区别是什么?

两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

7、handler机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

8、说说mvc模式的原理,它在android中的运用

MVC(Model_view_contraller)” 模型_视图_控制器”。 MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要 Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会

从潜在的Model中获取数据来刷新自己。

View重绘和内存泄露的好像是面试经常问的问题

1. View的刷新:

在需要刷新的地方,使用handle.sendmessage发送信息,然后在handle的getmessage里面执行invaliate或者postinvaliate.

2. GC内存泄露

出现情况:

1.数据库的cursor没有关闭

2.构造adapter时,没有使用缓存contentview

衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程/

3.Bitmap对象不使用时采用recycle()释放内存

4.activity中的对象的生命周期大于activity

调试方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]

还有其他问题,大家欢迎提出阿,可以是整体架构的,还有这个Hal层.

这篇文章会涉及到以下几个内容

一 Activity的生命周期

二 让Activity变成一个窗口:Activity属性设定

三 你后台的Activity被系统

回收怎么办:onSaveInstanceState

四 调用与被调用:我们的通信使者 - Intent

一 Activity的生命周期

和其他手机 平台 的应用程序一样,Android的应用程序的生命周期是被统一掌控的,也就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习并适应它。

变得不可见,被下一个activity覆盖了

onDestroy: 这是activity被干掉前最后一个被调用方法了,可能是外面类调用finish方法或者是系统为了节省空间将它暂时性的干掉,可以用 isFinishing()来判断它,如果你有一个

Progress Dialog在线程中转动,请在onDestroy里把他cancel掉,不然等线程结束的时候,调用Dialog的cancel方法会抛异常的。

onPause,onstop, onDestroy,三种状态下 activity都有可能被系统干掉为了保证程序的正确性,你要在onPause()里写上持久层操作的代码,将用户编辑的内容都保存到存储介质上(一般 都是数据库)。实际工作中因为生命周期的变化而带来的问题也很多,比如你的应用程序起了新的线程在跑,这时候中断了,你还要去维护那个线程,是暂停还是杀 掉还是数据回滚,是吧?因为Activity可能被杀掉,所以线程中使用的变量和一些界面元素就千万要注意了,一般我都是采用Android的消息机制 [Handler,Message]来处理多线程和界面交互的问题。这个我后面会讲一些,最近因为这些东西头已经很大了,等我理清思绪再跟大家分享。

二 让Activity变成一个窗口:Activity属性设定

讲点轻松的吧,可能有人希望做出来的应用程序是一个漂浮在手机主界面的东西,那么很 简单你只需要设置一下Activity的主题就可以了在AndroidManifest.xml 中定义 Activity的地方一句话:

Xml代码

android

:theme="@android:style/Theme.Dialog"

android:theme="@android:style/Theme.Dialog"

这就使你的应用程序变成对话框的形式弹出来了,或者 Xml代码

android:theme="@android:style/Theme.Translucent"

android:theme="@android:style/Theme.Translucent"

就 变成半透明的,[友情提示-.-]类似的这种activity的属性可以在android.R.styleable 类的AndroidManifestActivity 方法中看到,AndroidManifest.xml中所有元素的属性的介绍都可以参考这个类android.R.styleable

上面说的是属性名称,具体有什么值是在android.R.style中

可以看到,比如这个"@android:style/Theme.Dialog"就对应于

android.R.style.Theme_Dialog ,('_'换成'.' <--注意:这个是文章内容不是笑脸)就可以用在描述文件

中了,找找类定义和描述文件中的对应关系就都明白了。

三 你后台的Activity被系统回收怎么办:onSaveInstanceState

当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B 这个时候A会执行

Java代码

android面试题 第三篇_2016年Android面试题带答案

Android面试题

1. 下面是属于GLSurFaceView特性的是(abc)(多选)

A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图 view上。

B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。

C、让渲染器在独立的线程里运作,和UI线程分离。

D、可以直接从内存或者DMA等硬件接口取得图像数据

2. 下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的(a)

A、<receiver android:name="NewBroad">

<intent-filter>

<action

android:name="android.provider.action.NewBroad"/>

<action>

</intent-filter>

</receiver>

B、<receiver android:name="NewBroad">

<intent-filter>

android:name="android.provider.action.NewBroad"/>

</intent-filter>

</receiver>

C、<receiver android:name="NewBroad">

<action

android:name="android.provider.action.NewBroad"/>

<action>

</receiver>

D、<intent-filter>

<receiver android:name="NewBroad">

<action>

android:name="android.provider.action.NewBroad"/>

<action>

</receiver>

</intent-filter>

3. 关于ContenValues类说法正确的是(a)

A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是String类型,而值都是基本类型

B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是任意类型,而值都是基本类型

C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名,可以为空,而值都是String类型

D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中 的名是String类型,而值也是String类型

4. 我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会

变得越慢,那么线程销毁的方法是(a)

A、onDestroy()

B、onClear()

C、onFinish()

D、onStop()

5. 下面退出Activity错误的方法是(c)

A、finish()

B、抛异常强制退出

C、System.exit()

D、onStop()

6. 下面属于android的动画分类的有(ab)(多项)

A、Tween B、Frame C、Draw D、Animation【android面试题】

7. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是(d) A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立 的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.

B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.

C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念.

D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为

是同一个概念.

8.

9.

10. 下列哪些语句关于内存回收的说明是正确的? (b )

A、 程序员必须创建一个线程来释放内存

B、 内存回收程序负责释放无用内存

C、 内存回收程序允许程序员直接释放内存

D、 内存回收程序可以在指定的时间释放内存对象

11. 下面异常是属于Runtime Exception 的是(abcd)(多选)

A、ArithmeticException

B、IllegalArgumentException

C、NullPointerException

D、BufferUnderflowException

12. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c

A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12

13. 下列程序段的输出结果是:(b )

void complicatedexpression_r(){

int x=20, y=30;

boolean b;

b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;

System.out.println(b);

}

A、true B、false C、1 D、011.activity

14. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d)

A、onPause() B、onCreate() C、 onResume() D、onStart()

15. Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选)

A、Serializable B、charsequence C、Parcelable D、Bundle

16. android 中下列属于Intent的作用的是(c)

A、实现应用程序间的数据共享

B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D、处理一个应用程序整体性的工作

17. 下列属于SAX解析xml文件的优点的是(b)

A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能

B、不用事先调入整个文档,占用资源少

android面试题 第四篇_华为Android面试题

馋猫工作室

1. 简要解释一下Activity、 Service、Broadcase、BroadcaseReceiver 、

ContentProvider、ContentResolver、Intent 、Intent filter

2. 说一下项目中最擅长的方向。例如:界面美化,网络请求,数据存储,Camera

相关,图片处理,视频方向。简述下你用过哪些技术,或者是开源包。

3. Handler机制和原理

4. 写出几种你认为可以提高Android程序运行效率的方法

5. AsyncTask 的异步机制和普通线程有什么区别,分别有哪些优缺点。

6. 多线程间通信和多进程之间通信有什么不同,分别怎么实现?

7. 请介绍下Android的数据存储方式。请写出熟悉程度,并对应举例适合不同

存储方式的数据

8. 说几个你认为非常好的软件或者游戏,概括下优缺点并且说下如果让你开发

这个软件,你如何构架,可能用到哪些技术点,对于你来说有哪些技术难点。

9. 简述三个你遇到印象最深刻的bug,你是如何解决的,是否完全解决问题。

10.含有图片的listview 如何进行优化其流畅度和图片加载方向的内存管理

11.如果让你独立完成一个项目(此项目11个界面,需要和网络进行数据交互,

需要在本地采用多种方式进行数据存储,有图片等相关操作),请简述下你工作顺序。

12.如果让你分配给3个同事一个项目(此项目11个界面,需要和网络进行数据

交互,需要在本地采用多种方式进行数据存储,有图片等相关操作),请简述下你将如何分配。

13.ScrollView嵌套listview是否会出现bug,为什么会出现bug,如果解决

14.说说mvc模式的原理,它在android中怎样运用,你在具体工作中怎样具体

运用mvc模式的。

15.编程题: 用最有效率的方法算出2乘以128等於几? 16.Android 中如何调用c++的方法。你是否可以熟练使用NDK编程

17. 用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell

排序、快速排序、归并排序、堆排序等。 18.写出怎么把前边的表查询成后边结果的格式的Sqlite语句

year month amount 结果

1991 1 1.1 year m1 m2 m3 m4

1991 2 1.2 1991 1.1 1.2 1.3 1.4

1991 3 1.3 1992 2.1 2.2 2.3 2.4

1991 4 1.4

1992 1 2.1

1992 2 2.2

1992 3 2.3

1992 4 2.4

19.写一个最简单的外连接查询(表名1:a 表名2:b)的sqlite语句

20.封装正式版APK时候有那些注意事项,上线到多个应用商城需要注意那些。

注:请认真选择其中6到10题,用简练语言作答。

馋猫工作室

android面试题 第五篇_Android面试题集合(含答案)

云时代

Android

[键入文档副标题]

面试题集

目录

第一章Android最全面试题71道题 ............................................................................................. 4

一、选择题 ............................................................................................................................... 4

二.填空和问答 ....................................................................................................................... 9

25. android中常用的五个布局是FrameLayout(单帧布局)、RelativeLyout(相对布局)、

LinerLayout(线性布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局) ............ 9

26. android 的四大组件是__Activity Service BrodcastReceiver ContentProvier。

........................................................................................................................................... 9

27. java.io包中的__ObjectInputStream_和_ObjectOutputStream_类主要用于对对象

(Object)的读写。.............................................................................................................. 9

28. android 中service的启动方法有:__startService____bindService_ ..................... 9

29. activity一般会重载7个方法用来维护其生命周期,分别是:onCreate onStart

onResume onPause onStop onDestroy onRestart ................................................ 9

30. android的数据存储的方式有:SharedPreferences数据存储、文件存储、SQLite

数据库存储数据、Contentprovider存储数据、网络存储数据 ................................... 9

31. 当启动一个Activity 并且新的 Activity 执行完后需要返回到启动它的Activity 数据,启动新Activity的方法是_startActivityForResult(intent,RequestCode)_,用来处理返回数据的Activity回调函数是void onActivityResult(int requestCode,int

resultCode,intent data)_。 ............................................................................................. 10

33.下面程序运行的结果是:______________。 ........................................................ 10

34. 在android中,请简述jni的调用过程。 ............................................................. 11

35. 简述Android的体系结构包括哪些? ..................................................................... 11

36. 请继承SQLiteOpenHelper实现下述功能 .............................................................. 11

37. 页面上现有ProgressBar 控件progressBar,请用书写线程以10秒的的时间完成

其进度显示工作。 ......................................................................................................... 12

38. 请描述Activity 的生命周期。 ............................................................................... 13

39. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当

前状态? ......................................................................................................................... 13

40. 如何将一个Activity 设置成对话框窗口的样式。 ............................................... 14

41. 如何退出Activity?如何安全退出已调用多个Activity 的Application? ........... 14

【android面试题】

43. 请介绍下Android的数据存储方式。 ................................................................... 15

44. 请介绍下 ContentProvider是如何实现数据共享的。 ........................................ 15

45. 如何启用 Service,如何停用 Service。 ............................................................... 16

46. 注册广播接收器有几种方式,这些方式有何优缺点?请谈谈 Android引入广播

机制的用意。 ................................................................................................................. 17

47. 请解释下在单线程模型中 Message、Handler、Message Queue、Looper之间的

关系。 ............................................................................................................................. 18

48. AIDL的全称是什么?如何工作?能处理哪些类型的数据? ............................... 20

49. 请解释下Android程序运行时权限与文件系统权限的区别。 ........................... 21

50. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

......................................................................................................................................... 21

51. 你如何评价Android系统优缺点。 ....................................................................... 21

52. 什么是ANR 如何避免它? ...................................................................................... 22

53. 什么情况会导致Force Close ?如何避免?能否捕获导致其的异常? .................... 23

本文来源:http://www.gbppp.com/jy/445682/

推荐访问:2016年android面试题 android面试题2016

热门文章