android 常见面试题(三)

1)请介绍下Android中常用的五种布局。

常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

1)FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。2)LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

3)AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

4)RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:相对于某一个元素android:layout_below、 android:layout_toLeftOf相对于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;

5)TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

2)android中的动画有哪几类,它们的特点和区别是什么

两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影

3)activity的启动模式有哪些?是什么含义

在android里,有4种activity的启动模式,分别为:

“standard” (默认)

“singleTop”

“singleTask”

“singleInstance”

它们主要有如下不同:

1)如何决定所属task

“standard”和”singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内,除非intent包括参数FLAG_ACTIVITY_NEW_TASK。

如果提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的task里。

“singleTask”和”singleInstance”总是把activity作为一个task的根元素,他们不会被启动到一个其他task里。

2)是否允许多个实例

“standard”和”singleTop”可以被实例化多次,并且存在于不同的task中,且一个task可以包括一个activity的多个实例;

“singleTask”和”singleInstance”则限制只生成一个实例,并且是task的根元素。 singleTop要求如果创建intent的时候栈顶已经有要创建 的Activity的实例,则将intent发送给该实例,而不发送给新的实例。

3)是否允许其它activity存在于本task内

“singleInstance”独占一个task,其它activity不能存在那个task里;如果它启动了一个新的activity,不管新的activity的launch mode 如何,新的activity都将会到别的task里运行(如同加了FLAG_ACTIVITY_NEW_TASK参数)。

而另外三种模式,则可以和其它activity共存。

4)是否每次都生成新实例

“standard”对于没一

  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
Android四大组件包括Activity、Service、Broadcast Receiver和Content Provider。这里我将回答一些常见面试题。 1. 谈谈singleTop和singleTask的区别以及应用场景。 singleTop和singleTask是Activity的启动模式之一。singleTop表示如果目标Activity已经位于栈顶,则不会创建新的实例,而是直接使用栈顶的实例;而如果目标Activity不在栈顶,则会创建新的实例。singleTask表示系统在启动目标Activity之前会先检查任务栈中是否已经存在该Activity的实例,如果存在,则将该实例移动到栈顶,否则创建新的实例并放入栈顶。 2. 说下Activity的四种启动模式。 Activity的四种启动模式分别为standard、singleTop、singleTask和singleInstance。standard是默认的启动模式,每次启动Activity都会创建新的实例;singleTop在singleTop的回答中有详细解释,可以解决重复打开Activity的问题;singleTask在singleTask的回答中有详细解释,可以实现页面的栈顶复用;singleInstance表示该Activity在一个新的任务栈中独立存在,且该任务栈中只有该Activity。 3. 请简要介绍Activity的作用和与Fragment的关系。 Activity是Android应用中每个页面的承载,它负责管理视图和用户交互。一个应用通常由多个Activity组成,每个Activity可以包含一个或多个Fragment。Fragment是可以嵌入到Activity中的可重用UI组件,它的显示和生命周期依赖于宿主Activity。通过使用Fragment,可以将界面分解成多个模块化的部分,提高代码的重用性和灵活性。 以上是对Android四大组件常见面试题的回答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值