2024年4月26日发(作者:)

android面试题目及其答案3篇

android面试题目及其答案1

1、显式intent和隐式intent的区别是什么(Android)

Intent定义:Intent是一种在不同组件之间传递的请求消息,是应用

程序发出的请求和意图。作为一个完整的消息传递机制,Intent不仅需要

发送端,还需要接收端。

显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之

为显式Intent; 隐式Intent定义:对于没有明确指出目标组件名称的

Intent,则称之为隐式Intent。 说明:Android系统使用IntentFilter 来寻

找与隐式Intent相关的对象。

2、如何优化ListView

1)如果自定义适配器,那么在getView方法中要考虑方法传进来的参

数contentView是否为null,如果为null就创建contentView并返回,如

果不为null则直接使用。在这个方法中尽可能少创建view;

2)给contentView设置tag(setTag()),传入一个viewHolder对象,用

于缓存要显示的数据,可以达到图像数据异步加载的效果;

3)如果listview需要显示的item很多,就要考虑分页加载。比如一共

要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到

列表底部的时候再去加载接下来的20条。

3、简述通过contentResolver获取ContentProvider内容的基本步骤

1)得到ContentResolver类对象:ContentResolver cr =

getContentResolver();

2)定义要查询的字段String数组;

3)使用();返回一个Cursor对象;

4)使用while循环得到Cursor里面的内容。

4、描述4 种 activity 的启动模式

1)standard :系统的默认模式,一次跳转即会生成一个新的实例。假

设有一个activity命名为MainActivity,执行语句:

startActivity(new Intent(, ))后,

MainActivity将跳转到另外一个MainActivity,也就是现在的Task栈里面

有MainActivity的两个实例。按返回键后你会发现仍然是在

MainActivity(第一个)里面。

2)singleTop:singleTop 跟standard 模式比较类似。如果已经有一

个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity

中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。例:

当MainActivity为 singleTop 模式时,执行跳转后栈里面依旧只有一个实

例,如果现在按返回键程序将直接退出。

3)singleTask: singleTask模式和后面的singleInstance模式都是只创

建一个实例的。在这种模式下,无论跳转的对象是不是位于栈顶的

activity,程序都不会生成一个新的实例(当然前提是栈里面已经有这个实

例)。这种模式相当有用,在以后的多activity开发中,经常会因为跳转的

关系导致同个页面生成多个实例,这个在用户体验上始终有点不好,而如

果你将对应的activity声明为 singleTask 模式,这种问题将不复存在。

4)singleInstance: 设置为 singleInstance 模式的 activity 将独占一个

task(感觉task可以理解为进程),独占一个task的activity与其说是

activity,倒不如说是一个应用,这个应用与其他activity是独立的,它有

自己的上下文activity。

5、Android中如何访问自定义ContentProvider?

通过ContentProvider的Uri访问开放的数据。

1)ContenResolver对象通过Context提供的方法getContenResolver()

来获得。

2)ContenResolver提供了以下方法来操作:insert delete update query

这些方法分别会调用ContenProvider中与之对应的方法并得到返回的结

果。

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

Android中动画可以分为两大类:帧动画、补间动画

1)补间动画:你定义一个开始和结束,中间的部分由程序运算得到。

主要有:旋转、*移、放缩和渐变;Alphaanimation(渐变型动画)、

scaleAnimation(缩放型动画)、 TranslateAnimation(*移型动画)、

RotateAnimation(旋转型动画)、

2)逐帧动画:Frame(把一连串的图片进行系列化连续播放,如同放电

影的效果),它是通过播放一张一张图片来达到动画的效果。

android面试题目及其答案2

1. 什么是Activity?