7-12日Android试题整理

1.将一个Activity设置成窗口的样式,只需要设置Theme

  • T
  • F

将一个Activity设置成窗口的样式有两种方式
AndroidManifest.xml中加上:

  1. android:theme=@android:style/Theme.Dialog
  2. android:theme=@android:style/Theme.Translucent//就变成半透明

2.下面关于Android中定义style和theme的描述正确的是?

  • 都可以减少重复属性设置
  • style可以作用在Activity上
  • Theme类可以继承
  • 一个TextView的style中定义了textColor属性,TextView本身也设置textColor属性,那么TextView本身定义的优先级较高

解析:
style和theme本质上就是同一个东西,xml格式完全相同,只是用在activity上就叫theme,用在view上就叫style,唯一的区别就是style里头控制的各个属性了,某些属性是只针对Activity才能生效的(View没有标题栏,状态栏,导航栏,但是Activity内部却有一个继承自View的Decorview)所以style可以作用在Activity上,但是theme却不能反过来作用在view上


3.在嘀嘀打车点击到支付宝支付,出现密码输入框,到此时相关的Activity会发生的生命周期回调依次为?

  • Onpause() ondestroy() oncreate() onresume()
  • ondestroy() oncreate() onstart() onresume()
  • onstop() ondestroy() oncreate() onstart()
  • onpause() oncreate() onstart() onresume()

解析:
首先
滴滴失去焦点,onPause()
支付宝onCreate() - > onStart() - > onResume()
当被启动的activity主题是透明(即原Activity仍然可见)的时候,原Activity不会执行其onStop()方法。
第三方接入的支付宝支付界面是不会完全遮盖原activity的。


4.下列对AsyncTask的描述,哪些是正确的

  • onProgressUpdate()方法是在主线程中执行的
  • 如果同时执行多个AsyncTask的话,他们默认是串行执行的
  • AsyncTask的实例应在UI thread中创建实例
  • AsyncTask内部默认的线池是通过java.util.concurrentExecuttors.newFixedThreadPool创建的

解析:
在Android中主线程是UI线程,一切的界面操作都是在主线程中完成的,如果在非线程重才操作ui将会报错
同时执行多个AsynvTask默认是串行执行的
AsynvTask必须在UI线程中创建
内部默认的线程是由SerialExecuto创建


5.下列属于android常用的跨进程通信工具有:

  • broadcas
  • AIDL
  • handler

解析:
handler是跨线程

猜你喜欢

转载自blog.csdn.net/adonis044/article/details/81011178