面试题四
2016-10-24 本文已影响17人
哇楼主
14.说明onSaveInstanceState()和onRestoreInstanceState()在什么时候调用?
由系统销毁一个Activity时调用onSaveInstanceState()方法
onRestoreInstanceState()被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用
15.android的Service的生命周期?哪个方法可以被多次调用?
不同的启动方式有不同的生命周期:
- start Service:onCreate(),onStartCommand(),onDestory()
- bind Service:onCreate(),onBind(),onUnbind(),onDestory()
多次启动一个已有的生命周期会调用onStartCommend()和onDestory()
16.android的broadcast生命周期
Broadcast的生命周期只有一个回调方法:void onReceive(Context curContext,Intent broadcastMsg)。当broadcast消息到达接收者时,Android会调用他的onReceive()方法,并且传递包含这个信息的intent对象。broadcast接收者在执行这个方法时,被认为是活动的。当onReceive()方法返回时,它停止的活动状态。
17.什么情况下会导致Force Close?如何避免?能否捕获其导致的异常?
程序代码出现异常了 一般像空指针等。 可以用logcat捕获异常。就是要写代码时要严谨,思维缜密。
18.3&5的值
integer是32位
3:0011
5:0101
按位与:只有全为0的时候才为0.全为1的时候才为1
0001结果为1
19.描述IntetService的优点:
- 创建了一个单独的工作线程来处理所有的intent请求(可以处理耗时操作)
- 有一个onHandlerIntent()方法处理工作线程当中的任务,开发者无需处理多线程问题。
- 处理完所有的intent请求后,IntentService会自动停止,无需调用stopSelf()将其停止
- 不需要重写onBind()方法,因为默认实现了,返回为null
- 也默认实现了onStartCommend()方法,会将请求的Intent添加到队列中去。