面试题四

作者: 哇楼主 | 来源:发表于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