您的当前位置:首页android笔试题及答案

android笔试题及答案

2020-05-12 来源:爱问旅游网


android笔试题及答案--本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--

总4页)(

单选题

中可以用来处理js中警示,确认等对话框的是(C)

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

A. B. C. D.

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

中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状 态码表示请求完成的是(D)

5.关于ImageSwitcher 说法错误的是: ( B ) 里可以通过Alpha设定转换时候的透明位

B.在使用一个ImageSwitcher之前,不一定要调用setFactory方法 是设置资源被读入到这个ImageSwitcher的时候动画效果

是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果 6.建立蓝牙连接时通过_D_方法来获取BluetoothAdapter对象 D. ()

7.关于Handler的说法不正确的是( A ) A.它实现不同进程间通信的一种机制 B.它避免了在新线程中刷新UI的操作 C.它采用队列的方式来存储Message D.它实现不同线程间通信的一种机制

8.Vector和ArrayList的主要区别是(B):

A. ArrayList内部基于链表,而Vector是基于数组的 B. Vector的大部分方法做了同步,而ArrayList没有同步 C. Vector是可串行化的,而ArrayList不是

D. Vector实现了RandomAccess,而ArrayList没有 9.下列属于SAX解析xml文件的优点的是(B )

A.将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能 B.不用事先调入整个文档,占用资源少 C.整个文档调入内存,浪费时间和空间

D.不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 a1=\"abc\"; String a2=\"abc\"; String a3=\"abcd\"; 总共创建( A )个String对象。 多选题

1.在添加第一个appwidget窗口小部件时,会执行的方法是(ABD)

2

2.下列属于SOAP优点的是(ABCD)

A,SOAP 与编程语言无关。SOAP 可以使用任何语言来完成 B,SOAP 是完全和厂商无关。 C,SOAP 与平台无关 D,SOAP 是简单的,可扩展的

3.下列属于SAX解析XML需要用到的类和接口是(BCD) A.DocumentBuilder

4.在使用蓝牙必须获取的权限是(AD) 5.Chronometer类的重要方法(ABC) 简答题

1.oom是什么如何避免

当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后这就会抛出 OutOfMemoryException 也就是OOM 避免:

1)减少内存对象的占用

SparseArray代替hashmap II.避免在android里面使用Enum III.减少bitmap的内存占用

IV.减少资源图片的大小,过大的图片可以考虑分段加载 内存对象的重复利用

2)大多数对象的复用,都是利用对象池的技术。

gridview/recycleview contentview的复用

属性对于内存对象的复用ARGB_8888/RBG_565/ARGB_4444/ALPHA_8 这个方法在某些条件下非常有用,比如要加载上千张图片的时候。 III.避免在ondraw方法里面 new对象 代替 + & View 的区别

view的更新必须在UI thread中进行 surfaceview会单独有一个线程做ui的更新。 surfaceview 支持open GL绘制。

3.什么时候会发生内存泄露?内存泄露的根本原因

长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。 I. 静态集合类引起内存泄露

方法无法删除set集 (firstName, lastName);

3

III. observer 我们在使用监听器的时候,往往是addxxxlistener,但是当我们不需要的时候,忘记removexxxlistener,就容易内存leak。

IV.各种数据链接没有关闭,数据库contentprovider,io,sokect等。cursor V.内部类:

java中的内部类(匿名内部类),会持有宿主类的强引用this。

所以如果是new Thread这种,后台线程的操作,当线程没有执行结束时,activity不会被回收。

Context的引用,当TextView 等等都会持有上下文的引用。如果有static drawable,就会导致该内存无法释放。 VI.单例

单例 是一个全局的静态对象,当持有某个复制的类A是,A无法被释放,内存leak。 4.横竖屏切换时Activity的生命周期

切换时的生命周期跟清单文件里的配置有关系。

不设置Activity的android:configChanges时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加载。

设置Activity android:configChanges=\"orientation|keyboardHidden|screenSize\"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。 通常在游戏开发, 屏幕的朝向都是写死的。

机制的原理

andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

4

因篇幅问题不能全部显示,请点此查看更多更全内容