面试题四

作者: 哇楼主 | 来源:发表于2016-10-24 19:30 被阅读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添加到队列中去。

相关文章

网友评论

    本文标题:面试题四

    本文链接:https://www.haomeiwen.com/subject/scbluttx.html