Android 笔试题
-
通过startService()和bindService(),以下说法错误的是:
正确答案:C
A. 通过startService()启动服务:会调用如下生命周期方法: onCreate()---->onStart()---->onDestory()
B. 当采用startService()方法启动服务,访问者与服务之间是没有绑定在一起的,访问者退出,服务还在运行
C. 如果是调用bindService()启动服务:会调用如下生命周期方法: onCreate()---->onBind---->onDestory()---->onUnBind()
D. 采用bindService()方法启动服务时,访问者与服务是绑定在一起的,即访问者退出,服务也就终止,解除绑定。 -
有关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,最后才是前台进程。
-
遇到下列哪种情况时需要把进程移到前台?
正确答案:D
A. 进程正在运行一个与用户交互的Activity ,它的onResume()方法被调用
B. 进程有一正在运行的BroadcastReceiver,它的onReceive()方法正在执行
C. 进程有一个Service,并且在Service的某个回调函数(onCreate()、onStart()、或onDestroy())内有正在执行的代码
D. 所有选项均正确
E. 进程有一个Service,该Service对应的Activity正在与用户交互
742522_1425292551666_1.png -
下面关于Android中定义style和theme的描述正确的是?
正确答案:ABD
A. 都可以减少重复属性设置
B. style可以作用在Activity上
C. Theme类可以继承
D. 一个TextView的style中定义了textColor属性,TextView本身也设置textColor属性,那么TextView本身定义的优先级较高 -
在多个应用中读取共享存储数据时,需要用到的query方法,是哪个对象的方法
正确答案:B
A. ContentResolver
B. ContentProvider
C. CursorD
D. SQLiteHelper -
关于BroadcastReceiver的说法不正确的是
正确答案: B
A. 是用来接收广播Intent的
B. 广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
C. 对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
D. 接收者声明的优先级别在<intent-filter>的android:priority属性中声明,数值越大优先级别越高 -
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。
- android 默认使用 ()作为字号单位。
正确答案:C
A. dip
B. px
C. sp
D. pt
android默认使用dp为像素单位,而字号使用的是sp为单位