android笔试题及答案_第1页
android笔试题及答案_第2页
android笔试题及答案_第3页
android笔试题及答案_第4页
全文预览已结束

下载本文档

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

文档简介

1、单选题1 .WebView 中可以用来处理 js 中警示,确认等对话框的是(C)A.WebSettingsB.WebViewClientC.WebChromeClientD.WebViewChrome2 .假设 assets 目录下有文件结构 html/hello.html,用 loadUrl()方法将该网页加载至 webView时,需传入的参数是(B)A.file:/asset/html/hello.htmlB.file:/android_asset/html/hello.htmlC.file:/androidasset/hello.htmlD.file:/assets/html/hello

2、.html3 .下列不属于补间动画相关类的是(B)A.TranslateAnimationB.FrameAnimationC.RotateAnimationD.AlphaAnimation4 .Android 中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状态码表不请求完成的是(D)A.100B.202C.404D.2005 .关于 ImageSwitcher 说法错误的是:(B)A.ImageSwitcher 里可以通过 Alpha 设定转换时候的透明位B.在使用一个 ImageSwitcher 之前,不一定要调用 setFactory 方法C.setInAnimatio

3、n 是设置资源被 t入到这个 ImageSwitcher 的时候动画效果D.setOutAnimation 是资源文件从这个 ImageSwitcher 里消失的时候要实现的动画效果6.建立蓝牙连接时通过_D_方法来获取 BluetoothAdapter 对象A.BluetoothAdapter.getBluetoothAdapterAdapter()B.BluetoothAdapteradapter=newBluetoothAdapter();C.BluetoothAdapter.BluetoothAdapterAdapter();D.BluetoothAdapter.getDefaultA

4、dapter()7 .关于 Handler 的说法不正确的是(A)A.它实现不同进程间通信的一种机制8 .它避免了在新线程中刷新 UI 的操作C.它采用队列的方式来存储 MessageD.它实现不同线程间通信的一种机制8 .Vector 和 ArrayList 的主要区别是(B):A. ArrayList 内部基于链表,而 Vector 是基可二数组的B. Vector 的大部分方法做了同步,而 ArrayList 没有同步C. Vector 是可串行化的,而 ArrayList 不是D. Vector 实现了 RandomAccess,而 ArrayList 没有9 .下列属于 SAX 解析

5、 xml 文件的优点的是(B)A.将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能B.不用事先调入整个文档,占用资源少C 整个文档调入内存,浪费时间和空间D.不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失10.Stringa1=abc;Stringa2=abc;Stringa3=abcd;总共创建(A 件 String 对象。A.2B.3C.5D.6多选题1 .在添加第一个 appwidget 窗口小部件时,会执行的方法是(ABD)A.onReceiveB.onEnabledC.onDisabledD.onUpdate2 .下列属于 SOAP 优点

6、的是(ABCD)A,SOAP 与编程语言无关。SOAP 可以使用任何语言来完成 B,SOAP 是完全和厂商无关。C,SOAP 与平台无关D,SOAP 是简单的,可扩展的3 .下列属于 SAX 解析 XML 需要用到的类和接口是(BCD)A.DocumentBuilderB.SAXParserC.DefaultHandlerD.SAXParserFactory4 .在使用蓝牙必须获取的权限是(AD)A.B.C.D.5 .Chronometer 类的重要方法(ABC)A.startB.stopC.setBaseD.destory简答题1.oom 是什么?如何避免?当程序需要申请一段“大”内存,但是

7、虚拟机没有办法及时的给到,即使做了 GC 操作以后这就会抛出 OutOfMemoryException 也就是 OOM避免:1)减少内存对象的占用I .ArrayMap/SparseArray 代替 hashmapII .避免在 android 里面使用 EnumIII .减少 bitmap 的内存占用IV 减少资源图片的大小,过大的图片可以考虑分段加载内存对象的重复利用2)大多数对象的复用,都是利用对象池的技术。I .listview/gridview/recycleviewcontentview 的复用II .inBitmap 属性对于内存又象的复用 ARGB_8888/RBG_565/A

8、RGB_4444/ALPHA_8这个方法在某些条件下非常有用,比如要加载上千张图片的时候。III .避免在 ondraw 方法里面 new 对象IV .StringBuilder 代替+2.SurfaceView&View 的区别view 的更新必须在 UIthread 中进行surfaceview 会单独有一个线程做 ui 的更新。surfaceview 支持 openGL 绘制。3.什么时候会发生内存泄露?内存泄露的根本原因?长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。I .静态集合类引起内存泄露II .remove 方法无法删除 set 集 Objects.h

9、ash(firstName,lastName);III.observer 我们在使用监听器的时候,往往是 addxxxlistener,但是当我们不需要的时候,忘记removexxxlistener,就容易内存 leak。IV 各种数据链接没有关闭,数据库 contentprovider,io,sokect 等。cursorV .内部类:java 中的内部类(匿名内部类),会持有宿主类的强引用 this。所以如果是 newThread 这种,后台线程的操作,当线程没有执行结束时,activity 不会被回收。Context 的引用, 当 TextView 等等都会持有上下文的引用。 如果有 s

10、taticdrawable,就会导致该内存无法释放。VI .单例单例是一个全局的静态对象,当持有某个复制的类 A 是,A 无法被释放,内存 leak。4 .横竖屏切换时 Activity 的生命周期切换时的生命周期跟清单文件里的配置有关系。不设置 Activity 的 android:configChanges 时, 切屏会重新调用各个生命周期默认首先销毁当前 activity,然后重新加载。设置 Activityandroid:configChanges=orientation|keyboardHidden|screenSize时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法。通常在游戏开发,屏幕的朝向都是写死的。5 .handler 机制的原理andriod 提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper 类用来管理特定线程内对象之间的消息交换(MessageExchange)1)Looper:一个线程可以产生一个 Looper 对象,由它来管理此线程里的 MessageQueue(消息队列)。2) Handler:你可以构造 Handler 对象来与 Loo

温馨提示

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

评论

0/150

提交评论