Android面试宝典----1.选择填空分析及答案

Android面试宝典----1.选择填空分析及答案


一、选择题:

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

A、 程序员必须创建一个线程来释放内存
B、 内存回收程序负责释放无用内存 
C、 内存回收程序允许程序员直接释放内存 
D、 内存回收程序可以在指定的时间释放内存对象 
分析:A, 程序员不需要创建一个线程来释放内存,android内存回收是由垃圾回收站回收的,c,不允许程序员直接释放内存,d,内存回收时间不一定,在任何时间执行。


2、  下面异常是属于Runtime Exception 的是(abcd)(多选)

A、ArithmeticException   
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
分析: A,算数运算异常  B,不合法参数传递异常 C,空指针异常  D,缓存溢出异常


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

A、11,-11   B、11,-12   C、12,-11   D、12 ,-12
分析:Math.round(), 四舍五入的意思,取值是靠近最近的整数值,小数部分>5, 四舍五入,小数部分等于5,若为负数,则取整数值. 若为正,四舍五入计算,如果为负的-1.5,取值靠近-1,    Math.floor(), 数学函数,求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数。


4、下列程序段的输出结果是:(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.activity5. 

分析:&&  || 是 且  跟  或的意思, 详细掌握短路运算法则。


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

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

分析: 个人觉得activity 中 onPause时候,activity 将要失去焦点,进行存储数据较好.


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

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

分析:Intent 传递对象时候,可以 A,C 序列化对象,, B是字符串,,D是Bundle绑定数据


7、android 中下列属于Intent的作用的是(c)

A、实现应用程序间的数据共享
B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D、处理一个应用程序整体性的工作
分析:A是contentprovider作用, B是service作用,D应该是activity吧,


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

A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能
B、不用事先调入整个文档,占用资源少
C、整个文档调入内存,浪费时间和空间
D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失

分析:常见的XML解析 DOM,SAX.PULL,,, Dom 方式是一次性将文件放入内存中,一次性读取到结束,中间不能停止。 SAX, PULL 不用事先

调用文档,逐行进行读取,占用资源较少. 中间可以停止,方便下次继续读取.  


9、在android中使用Menu时可能需要重写的方法有(ac)。(多选)

A、onCreateOptionsMenu()
B、onCreateMenu()
C、onOptionsItemSelected()
D、onItemSelected()
分析:BD是干扰项,A是创建初始化Menu,c是点击处理


12、在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是(ab)

A、getWriteableDatabase()
B、getReadableDatabase()
C、getDatabase()
D、getAbleDatabase()


13、android 关于service生命周期的onCreate()和onStart()说法正确的是(ad)(多选题)

A、当第一次启动的时候先后调用onCreate()和onStart()方法
B、当第一次启动的时候只会调用onCreate()方法
C、如果service已经启动,将先后调用onCreate()和onStart()方法
D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法


14、下面是属于GLSurFaceView特性的是(abc)(多选)

A、管理一个surface,这个surface就是一块特殊的内存,能直接排版到android的视图
    view上。
B、管理一个EGL display,它能让opengl把内容渲染到上述的surface上。
C、让渲染器在独立的线程里运作,和UI线程分离。
D、可以直接从内存或者DMA等硬件接口取得图像数据


16、关于ContenValues类说法正确的是(a)

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

17、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(a)

A、onDestroy()
B、onClear()
C、onFinish() 
D、onStop()

18、  下面退出Activity错误的方法是(c)

A、finish()
B、抛异常强制退出
C、System.exit()
D、onStop()

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

A、Tween  B、Frame C、Draw D、Animation

20、关于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 中的一个进程,所以说可以认为是同一个概念.

21、Android项目工程下面的assets目录的作用是什么(b)

A、放置应用到的图片资源。
B、主要放置多媒体等数据文件
C、放置字符串,颜色,数组等常量数据
D、放置一些与UI相应的布局文件,都是xml文件
分析:A,是drawable C, value D,layout 

22、关于res/raw目录说法正确的是(a)

A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B、这里的文件是原封不动的存储到设备上会转换为二进制的格式

C、这里的文件最终以二进制的格式存储到指定的包中
D、这里的文件最终不会以二进制的格式存储到指定的包中

分析:raw下面存放的是一些mp3, db 文件,这些文件仍然完整保存,运行后不会变为别的格式的。

23、下列对android NDK的理解正确的是(abcd )

A、 NDK是一系列工具的集合
B、 NDK 提供了一份稳定、功能有限的 API 头文件声明。
C、 使 “Java+C” 的开发方式终于转正,成为官方支持的开发方式
D、 NDK 将是 Android 平台支持 C 开发的开端

分析:Android NDK 是一系列工具的集合,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk;NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so;NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

二、选择题:

1、android中常用的四个布局是FrameLayout,LinearLayout,RelativeLayout和TableLayout

2、android 的四大组件是Activiey,Service,BroadcastReceiver和ContentProvider。

3、java.io包中的 ObjectInputStream 和 ObjectOutputStream 类主要用于对对象(Object)的读写。

4、android 中service的实现方法是:startServicebindService

5、activity一般会重载7个方法用来维护其生命周期,除了onCreate(),onStart(),onDestory外还有onRestart,onResume,onPause,onStop

6、android的数据存储的方式SharedPreference,文件,SQlite,ContentProvider,网络。

7、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行 的回调函数是startActivityForResult()

8、请使用命令行的方式创建一个名字为myAvd,sdk版本为2.2,sd卡是在d盘的根目录下,名字为scard.img,并指定屏幕大小HVGA._ android create avd -tandroid-8 -n myAvd -c d:/avd/scard.img --skin 480*320

SDK版本的ID 通过android list targets查看各版本对应的id

9、程序运行的结果是:_____good and gbc__________。   

public class Example{ 
  String str=new String("good"); 
  char[] ch={'a','b','c'}; 
public static void main(String args[]){ 
  Example ex=new Example(); 
  ex.change(ex.str,ex.ch); 
  System.out.print(ex.str+" and "); 
  Sytem.out.print(ex.ch); 
} 
public void change(String str,char ch[]){ 
  str="test ok"; 
  ch[0]='g'; 
} 
} 
分析:首先创建的是Example的ex 对象,分配一个字符串池 str ,以及创建一个数组ch ,  当执行 ex.change方法,将ex.str, ex.ch 作为参数进行

值传递,在change方法中,str="test ok"会重新建立一个字符串池来存储,原来的str 地址值并未改变.  


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值