Android笔试和面试常见题目(三)

来源:互联网 发布:live直播软件下载 编辑:程序博客网 时间:2024/06/12 00:44

自己整理的一些Android常见面试题,欢迎各位参考。 有错误或有更好的题目答案可以联系修改。

22、对Fragment的理解
Fragment是一种可以嵌入在活动(Activity)当中的UI片段,它能让程序更加合理和充分利用大荧幕的空,每个Fragment 必须依赖 activity 而存在,而且每个fragment都通过自身的生命周期回调方法定义自身的布局和行为,但它的生命周期受activity的生命周期所影响。

23、一条最长的短信息约占多少byte?
中文70(包括标点),英文160,160个位元组。

24、如何将SQLite数据库(dictionary.db档)与apk档一起发布
解答:可以将dictionary.db档复制到Eclipse Android工程中的res aw目录中。所有在res aw目录中的档不会被压缩,这样可以直接提取该目录中的档。可以将dictionary.db档复制到res aw目录中。

25、DDMS和TraceView的区别?
1.DDMS是一个程序执行查看器,在里面可以看见线程和堆栈等信息.
2.TraceView是程序性能分析器 。

26、说出ArrayList,Vector, LinkedList的存储性能和特性。
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等存储器操作,所以索引数据快而插入数据慢,
Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,
LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

27、自定义View的步骤:
自定义View的属性
在View的构造方法中获得我们自定义View的步骤
[3.重写onMeasure](不必须)
重写onDraw

28、Android几种进程
1.前台进程:即与用户正在交互的Activity或者Activity用到的Service等,如果系统存储器不足时前台进程是最后被杀死的
2.可见进程:可以是处于暂停状态(onPause)的Activity或者绑定在其上的Service,即被用户可见,但由于失去了焦点而不能与用户交互
3.服务进程:其中运行着使用startService方法启动的Service,虽然不被用户可见,但是却是用户关心的,例如用户正在非音乐界面听的音乐或者正在非下载页面自己下载的档等;当系统要空间运行前两者进程时才会被终止
4.后台进程:其中运行着执行onStop方法而停止的程序,但是却不是用户当前关心的,例如后台挂着的QQ,这样的进程系统一旦没了有存储器就首先被杀死
5.空进程:不包含任何应用程序的程序组件的进程,这样的进程系统是一般不会让他存在的
如何避免后台进程被杀死:
1.调用startForegound,让你的Service所在的线程成为前台进程
2.Service的onStartCommond返回START_STICKY或START_REDELIVER_INTENT
3.Service的onDestroy里面重新启动自己

29、Android中JNI调用过程简述
1.安装和下载cygwin,下载android NDk;
2.在NDK项目中JNI界面的设计
3.使用C/C++实现本地方法
4.JNI生成动态链接库.oS 档
5.将动态库链接复制到Java工程,在Java工程中调用,运行Java工程即可。

30、JNI的调用过程
1.声明native方法
2.在android项目中创建jni档夹,并添加出档
3.在C档中,声明与native方法对应的C函数
4.添加C代码,并返回对应的值
5.添加android.mk配置档

原创粉丝点击