文档介绍:Android面试题葵花宝典Android开发组请描述下Activity的生命周期Activity的生命周期与activity的活动状态密切相关,也和activity的周期函数密切相关共有七个周期函数及生命周期执行顺序如下:onCreate()--->onStart()--->onRestart()--->onResume()--->onPause()--->onStop()--->onDestroy()如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?当你的程序中某一个ActivityA在运行时,主动或被动地运行另一个新的ActivityB,这个时候A会执行onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被收回的就直接执行onResume(),跳过onCreate()了如何将一个Activity设置成窗口的样式?:theme="***@android:style/"或android:theme="***@android:style/"就变成半透明的如何退出Activity?如何安全退出已调用多个Activity的Application?对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()()这样的方法。请介绍下Android中常用的五种布局在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。1、FrameLayout框架布局,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。2、LinearLayout线性布局,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每个子组件都是以垂直或水平的方式来定位.(默认是垂直)3、AbsoluteLayout绝对定位布局,采用坐标轴的方式定位组件,左上角是(0,0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:layout_x和android:layout_y来确定坐标。4、RelativeLayout相对布局,根据另外一个组件或是顶层父组件来确定下一个组件的位置。和CSS里面的类似。5、TableLayout表格布局,,其中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。请介绍下Android的数据存储方式?1、SharedPreferences方式2、文件存储方式3、SQLite数据库方式4、内容提供器(Contentprovider)方式5、网络存储方式请介绍下ContentProvider是如何实现数据共享的创建一个属于你自己的Contentprovider或者将你的数据添加到一个已经存在的Contentprovider中,前提是有相同数据类型并且有写入Contentprovider的权限android中的动画有哪几类,它们的特点和区别是什么?两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。Handler机制的原理andriod提供了Handler和Looper来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1、Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2、Handler:你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从MessageQueue取出)所送来的消息。3、MessageQueue(消息队列):用来存放线程放入的消息。4、线程:UIthread通常就是mainthread,而Android启动程序时会替它建立一个MessageQueue。如何让