Android 笔试题

  1. 通过startService()和bindService(),以下说法错误的是:
    正确答案:C
    A. 通过startService()启动服务:会调用如下生命周期方法: onCreate()---->onStart()---->onDestory()
    B. 当采用startService()方法启动服务,访问者与服务之间是没有绑定在一起的,访问者退出,服务还在运行
    C. 如果是调用bindService()启动服务:会调用如下生命周期方法: onCreate()---->onBind---->onDestory()---->onUnBind()
    D. 采用bindService()方法启动服务时,访问者与服务是绑定在一起的,即访问者退出,服务也就终止,解除绑定。

  2. 有关Activity生命周期描述正确的是
    正确答案:B C
    A. 设置Activity的android:screenOrientation="portrait"属性时,切换屏幕横纵方向时不会重新调用各个生命周期,只会执行onConfigurationChanged方法
    B. 未设置Activity的android:configChanges属性,切换屏幕横纵方向时会重新调用onCreate()方法
    C. 当再次启动某个launchMode设置为singletask的Activity,它的onNewIntent()方法会被触发
    D. 用户正在操作某个Activity,这时如果其他应用程序需要内存,系统会将用户当前操作的Activity强制关闭

A. 设置Activity的android:screenOrientation="portrait"属性时,无法切换横竖屏,因此不但不会重新调用各个生命周期方法,而且onConfigurationChanged()方法也不会执行。
D. 用户正在操作某个Activity,这时如果其他应用程序需要内存。 此时的Activity是Foreground process,应该按照Empty process,Background process,Service process,Visible process顺序kill,最后才是前台进程。

  1. 遇到下列哪种情况时需要把进程移到前台?
    正确答案:D
    A. 进程正在运行一个与用户交互的Activity ,它的onResume()方法被调用
    B. 进程有一正在运行的BroadcastReceiver,它的onReceive()方法正在执行
    C. 进程有一个Service,并且在Service的某个回调函数(onCreate()、onStart()、或onDestroy())内有正在执行的代码
    D. 所有选项均正确
    E. 进程有一个Service,该Service对应的Activity正在与用户交互


    742522_1425292551666_1.png
  2. 下面关于Android中定义style和theme的描述正确的是?
    正确答案:ABD
    A. 都可以减少重复属性设置
    B. style可以作用在Activity上
    C. Theme类可以继承
    D. 一个TextView的style中定义了textColor属性,TextView本身也设置textColor属性,那么TextView本身定义的优先级较高

  3. 在多个应用中读取共享存储数据时,需要用到的query方法,是哪个对象的方法
    正确答案:B
    A. ContentResolver
    B. ContentProvider
    C. CursorD
    D. SQLiteHelper

  4. 关于BroadcastReceiver的说法不正确的是
    正确答案: B
    A. 是用来接收广播Intent的
    B. 广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
    C. 对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
    D. 接收者声明的优先级别在的android:priority属性中声明,数值越大优先级别越高

  5. Broadcast Receiver是一个专注于接收广播通知消息,并做出对应处理的组件。下列说法正确的是( )
    正确答案:A B D
    A. BroadcastReceiver 是对发送出来的广播进行过滤接收并响应的一类组件
    B. 每次广播被接收后会重新创建BroadcastReceiver对象,并在onReceiver方法中执行完时销毁
    C. 如果需要在BroadcastReceiver中执行耗时的操作,可以通过Intent启动Service来完成,并同时绑定Service
    D. 定义广播接收器类需要继承BroadcastReceiver基类,并且必须要重写onReceive()方法

由于BroadcastReceiver本质上是一种监听器,所以创建BroadcastReceiver的方法也非常简单,只需要创建一个BroadcastReceiver的子类然后重写onReceive (Context context, Intentintent)方法即可。
BroadcastReceiver的生命周期,从对象调用它开始,到onReceiver方法执行完成之后结束。另外,每次广播被接收后会重新创建BroadcastReceiver对象,并在onReceiver方法中执行完就销毁,如果BroadcastReceiver的onReceiver方法中不能在10秒内执行完成,Android会出现ANR异常。所以不要在BroadcastReceiver的onReceiver方法中执行耗时的操作。
如果需要在BroadcastReceiver中执行耗时的操作,可以通过Intent启动Service来完成。但不能绑定Service。

  1. android 默认使用 ()作为字号单位。
    正确答案:C
    A. dip
    B. px
    C. sp
    D. pt

android默认使用dp为像素单位,而字号使用的是sp为单位

你可能感兴趣的:(Android 笔试题)