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

下载本文档

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

文档简介

单选题

1.WebView中可以用来处理js中警示,确认等对话框的是(C)A.WebSettingsB.WebViewClientC.WebChromeClientD.WebViewChrome

2.假设assets目录下有文件结构html/hello.html,用loadUrl()方法将该网页加载至webView时,需传入的参数是

(B)A.

file:///asset/html/hello.html

B.file:///android_asset/html/hello.html

C.file:///androidasset/hello.html

D.file:///assets/html/hello.html

3.下列不属于补间动画相关类的是(B)A.TranslateAnimation

B.FrameAnimation

C.RotateAnimation

D.AlphaAnimation

4.Android中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状态码表示请求完成的是(D)A.100B.202C.404D.2005.关于ImageSwitcher说法错误的是:(B)A.ImageSwitcher里可以通过Alpha设定转换时候的透明位B.在使用一个ImageSwitcher之前,不一定要调用setFactory方法C.setInAnimation是设置资源被读入到这个ImageSwitcher的时候动画效果D.setOutAnimation是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果6.建立蓝牙连接时通过_D_方法来获取BluetoothAdapter对象A.BluetoothAdapter.getBluetoothAdapterAdapter()B.BluetoothAdapteradapter=newBluetoothAdapter();C.BluetoothAdapter.BluetoothAdapterAdapter();D.BluetoothAdapter.getDefaultAdapter()7.关于Handler的说法不正确的是(A)A.它实现不同进程间通信的一种机制B.它避免了在新线程中刷新UI的操作C.它采用队列的方式来存储MessageD.它实现不同线程间通信的一种机制Vector和ArrayList的主要区别是(B):A.ArrayList内部基于链表,而Vector是基于数组的B.Vector的大部分方法做了同步,而ArrayList没有同步C.Vector是可串行化的,而ArrayList不是D.Vector实现了RandomAccess,而ArrayList没有 9.下列属于SAX解析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优点的是(ABCD)A,SOAP与编程语言无关。SOAP可以使用任何语言来完成B,SOAP是完全和厂商无关。C,SOAP与平台无关D,SOAP是简单的,可扩展的下列属于SAX解析XML需要用到的类和接口是(BCD)DocumentBuilderB.SAXParserC.DefaultHandlerD.SAXParserFactory4.在使用蓝牙必须获取的权限是(AD)A.<uses-permissionandroid:name="android.permission.BLUETOOTH"/>B.<uses-permissionandroid:name="android.permission.INTERNET"/>C.<uses-permissionandroid:name="android.permission.BIND_BLUETOOTH"/>D.<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN"/>Chronometer类的重要方法(ABC)A.startB.stopC.setBaseD.destory简答题oom是什么?如何避免?当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后这就会抛出OutOfMemoryException也就是OOM避免:1)减少内存对象的占用I.ArrayMap/SparseArray代替hashmapII.避免在android里面使用EnumIII.减少bitmap的内存占用IV.减少资源图片的大小,过大的图片可以考虑分段加载内存对象的重复利用2)大多数对象的复用,都是利用对象池的技术。I.listview/gridview/recycleviewcontentview的复用II.inBitmap属性对于内存对象的复用ARGB_8888/RBG_565/ARGB_4444/ALPHA_8这个方法在某些条件下非常有用,比如要加载上千张图片的时候。III.避免在ondraw方法里面new对象IV.StringBuilder代替+2.SurfaceView&View的区别view的更新必须在UIthread中进行surfaceview会单独有一个线程做ui的更新。surfaceview支持openGL绘制。什么时候会发生内存泄露?内存泄露的根本原因?长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。I.

静态集合类引起内存泄露II.remove方法无法删除set集

Objects.hash(firstName,lastName);III.observer我们在使用监听器的时候,往往是addxxxlistener,但是当我们不需要的时候,忘记removexxxlistener,就容易内存leak。IV.各种数据链接没有关闭,数据库contentprovider,io,sokect等。cursorV.内部类:java中的内部类(匿名内部类),会持有宿主类的强引用this。所以如果是newThread这种,后台线程的操作,当线程没有执行结束时,activity不会被回收。Context的引用,当TextView等等都会持有上下文的引用。如果有staticdrawable,就会导致该内存无法释放。VI.单例单例是一个全局的静态对象,当持有某个复制的类A是,A无法被释放,内存leak。4.横竖屏切换时Activity的生命周期切换时的生命周期跟清单文件里的配置有关系。不设置Activity的android:configChanges时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加载。设置Activity

android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。通常在游戏开发,

屏幕的朝向都是写死的。5.handler机制的原理andriod提供了Handler和Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler:你可以构造

温馨提示

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

评论

0/150

提交评论