android笔试面试题9-24.docx_第1页
android笔试面试题9-24.docx_第2页
android笔试面试题9-24.docx_第3页
android笔试面试题9-24.docx_第4页
android笔试面试题9-24.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四大组件 Activity、Service 、Broadcast Receiver、Content Provider;TCP/IP UDP 协议概念 ; JAVA架构 ; 网络传输 大小端问题 整型传输和字符串传输的区别; 项目:视频通过什么采集、 GPS获取的信息内容;项目如何实现的1. activity的生命周期2. Android的5种常见布局方式3. 如何将activity设置成窗口样式4. 介绍Android的5种存储方式5. Handler机制的原理6. Intent的作用退出activity的方法问android四大组件 每一部分是做什么的 intent是怎么用的 怎么解析一个xlm文件自己项目是怎么实现的 通信协议是怎么定的 android的布局方式 帧布局是什么怎么优化项目 1、 Android系统架构2、 Service几种启动方式及各自优点3、 5种布局方式4、 广播几种注册方式及各自优点5、 Handler工作机制6、 Mvc原理及典型应用7、 存储方式结合自身谈谈对Android的理解,Android优势1. 下列哪些语句关于内存回收的说明是正确的? ( )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象2.下面异常是属于Runtime Exception 的是( )(多选)A、ArithmeticExceptionB、IllegalArgumentExceptionC、NullPointerExceptionD、BufferUnderflowException3.Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( )A、11 ,-11B、11 ,-12C、12 ,-11D、12 ,-124.android中下列属于Intent的作用的是( )A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作5.下列属于SAX解析xml文件的优点的是( )A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能B、不用事先调入整个文档,占用资源少C、整个文档调入内存,浪费时间和空间D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失6.下面的对自定style的方式正确的是( )A、 fill_parentB、 fill_parentC、 fill_parentD、 fill_parent7.在android中使用Menu时可能需要重写的方法有( )。(多选)A、onCreateOptionsMenu()B、onCreateMenu()C、onOptionsItemSelected()D、onItemSelected()8. 在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是( )A、getWriteableDatabase()B、getReadableDatabase()C、getDatabase()D、getAbleDatabase()9. android 关于service生命周期的onCreate()和onStart()说法正确的是( )(多选题)A、当第一次启动的时候先后调用onCreate()和onStart()方法B、当第一次启动的时候只会调用onCreate()方法C、如果service已经启动,将先后调用onCreate()和onStart()方法10.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的( )A、B、android:name=vider.action.NewBroad/C、D、 11. 关于ContenValues类说法正确的是( )A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型12. 页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。 13. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。14. 什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?15. 简要解释一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiver16. 简要解释下Handler的工作原理。17Android应用容易发生ANR错误,请简述几种避免ANR错误的办法。1. 18. Android应用对于内存的大小是有限制的,请简述几种解决办法。请简述Android系统架构的四个层?a) Applicationsb) Application Frameworkc) Android RunTime Librariesd) Linux Kernel2. Android系统架构包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过Android 应用程序框架为开发者提供服务。请写出你所了解的一些核心库。答:a) 系统C 库: 一个从BSD 继承来的标准C 系统函数库(libc),它是专门为基于embedded linux的设备定制的。b) 媒体库: 基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。c) Surface Manager : 对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。d) LibWebCore : 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。e) SGL : 底层的2D图形引擎f) 3D libraries : 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。g) FreeType -位图(bitmap)和矢量(vector)字体显示。h) SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。3. 请简述Android Kernel移植过程a) 下载kernelb) 修改kernel configc) 移植Drivers4. Android的传感器系统从驱动程序层次到上层都有所涉及,传感器系统自下而上涉及到的各个层次有哪些?a) 各种Sensor的内核中的驱动程序b) Sensor的硬件抽象层(硬件模块)c) Sensor系统的JNId) Sensor的JAVA类e) JAVA框架中对Sensor的使用f) JAVA应用程序对Sensor的使用5. 一条最长的短信约占多少byte?a) 中文 70 包括标点,英文160,160个字节6. 什么是嵌入式实时操作系统,Android操作系统属于实时操作系统吗?a) 嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有事实任务协调一致运行的嵌入式操作系统。主要用于工业控制,军事设备,航空航天等领域对系统的响应时间有苛求的要求,这就需要使用实时系统,又可分为软实时和硬实时两种,而Android是基于Linux内核的,因此属于软实时。1. 下列哪些语句关于内存回收的说明是正确的? (B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象2.下面异常是属于Runtime Exception 的是(abcd)(多选)A、ArithmeticExceptionB、IllegalArgumentExceptionC、NullPointerExceptionD、BufferUnderflowException3.Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c )A、11 ,-11B、11 ,-12C、12 ,-11D、12 ,-124.android中下列属于Intent的作用的是(c)A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作5.下列属于SAX解析xml文件的优点的是(b)A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能B、不用事先调入整个文档,占用资源少C、整个文档调入内存,浪费时间和空间D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失6.下面的对自定style的方式正确的是(a)A、 fill_parentB、 fill_parentC、 fill_parentD、 fill_parent7.在android中使用Menu时可能需要重写的方法有(ac)。(多选)A、onCreateOptionsMenu()B、onCreateMenu()C、onOptionsItemSelected()D、onItemSelected()8. 在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是(ab)A、getWriteableDatabase()B、getReadableDatabase()C、getDatabase()D、getAbleDatabase()9. android 关于service生命周期的onCreate()和onStart()说法正确的是(ad)(多选题)A、当第一次启动的时候先后调用onCreate()和onStart()方法B、当第一次启动的时候只会调用onCreate()方法C、如果service已经启动,将先后调用onCreate()和onStart()方法10.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的(a)A、B、android:name=vider.action.NewBroad/C、D、 11. 关于ContenValues类说法正确的是(a)A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型12. 页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。(10分)public class ProgressBarStu extends Activity private ProgressBar progressBar = null;protected void onCreate(BundlesavedInstanceState) super.onCreate(savedInstanceState); setContentView(R.gressbar);/从这到下是关键progressBar = (ProgressBar)findViewById(R.gressBar);Thread thread = new Thread(newRunnable() public void run() int progressBarMax =progressBar.getMax(); try while(progressBarMax!=progressBar.getProgress() intstepProgress = progressBarMax/10;intcurrentprogress = progressBar.getProgress();progressBar.setProgress(currentprogress+stepProgress);Thread.sleep(1000); catch(InterruptedException e) e.printStackTrace(););thread.start(); /关键结束13. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。1. 静态AndroidManifest.xml注册,2.动态registerReceiver.静态注册可以伴随着App启动而存在,动态注册只是在代码运行时注册,如果代码没有执行则该广播接收不到消息。Android引入广播的机制用意是方便组件之前进行数据交互。14. 什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?未处理的异常出现时会导致ForceClose,UI界面中Null指针导致ForceClose,当出现异常时,通过Logcat查看日志信息来判断原因。尽量在可能出现异常的地方加入异常处理。15. 简要解释一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiverActivity:表示一个用户交互界面Intent:消息封装对象,用来在Android组件间进行数据通信。intentFilter:消息过滤器,用来过滤不响应的消息,保留要处理的消息。Service:后台长期运行的Android组件。Broadcast:广播,用来发送异步广播。BroadcaseReceiver:广播接收器,用来接收响应的广播消息。16. 简要解释下Handler的工作原理。andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从Message Queue取出)所送来的消息。3) Message Queue(消息队列):用来存放线程放入的消息。4)线程:UIthread 通常就是main thread,而Android启动程序时会替它建立一个MessageQueue。17Android应用容易发生ANR错误,请简述几种避免ANR错误的办法。不要在Service,Activity,BroadCastReceiver中进行长时间耗时、阻塞、等待、睡眠等操作,上述操作通过AsyncTask或Handler机制实现。18. Android应用对于内存的大小是有限制的,请简述几种解决办法。1.可以在 manifest 文件中的标签中设置largeHeap属性的值为 true时, 当前应用就可以获取到系统分配的最大堆内存. 如果你设置了该值, 可以通过ActivityManager的getLargeMemoryClass()函数获取最大的堆内存.2. 修改dalvik代码3. 修改/system/p配置文件,dalvik.vm.heapsize=32m4. 在使用大量内存之前调用ActivityManager中的getMemoryClass()来获得当前应用可用内存大小进行检测。5. 当使用Bitmap时,decodebitmap的时候,尽量配置下Options,例如:inSameSize,Bitmap使用完以后,调用bitmap.recycle()来释放内存。6. 如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle7. decodebitmap的时候,将decode代码trycatch出来,catchoomerror,避免程序crash,可以在catch里面做一些释放内存操作一、选择题(10题,共50分)1. 下列哪些语句关于内存回收的说明是正确的? ( )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象2.Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( )A、11 ,-11B、11 ,-12C、12 ,-11D、12 ,-123.android中下列属于Intent的作用的是( )A、实现应用程序间的数据共享B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D、处理一个应用程序整体性的工作4. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是?选择一项: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应用程序都在它自己的进程中运行,都拥有一个独立的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论