Android常见面试题解析一

我不是一个技术宅,接触互联网这个行业对我来说,一开始可能只是单纯的想摆脱就业难的问题,所以也就很单纯的以为就算半路出家也是可以成为大神的,当然这不可否认凭自己的努力半路出家又如何,照样能成功,但也有一类人可能压根就不适合,就比如我,花费两年时间,在职场上也没有取得什么更大的进步,反而让自己越来越迷茫,所以为了摆脱这种状态,不管是外在的还是本身,分析之后,慢慢知道哪些真的不是自己适合的,那就撞了南墙之后也该回头了。虽然没做Android这一块的东西很久了,但我一直保留着记录的好习惯,也想把这些分享出来。

以下的干货有想从事这方面的人可以看看,适合初学者:

请描述下Activity的生命周期

1.onCreate():用于创建界面,数据初始化

2.onStart() :activity变为在屏幕上对用户可见时调用。

3.onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。

4.onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈吧!

5.onStop():activity被停止并转为不可见阶段及后续的生命周期事件时调用。

6.onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。

7.OnDestroy():activity被完全从系统内存中移除时调用,该方法被 2.横竖屏切换时候activity的生命周期

 如何退出Activity?如何安全退出已调用多个Activity的Application?

对于单一Activity的应用来说,退出很简单,直接finish()即可。

当然,也可以用killProcess()和System.exit()这样的方法。

1、抛异常强制退出:

该方法通过抛异常,使程序Force Close。

验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。

2、记录打开的Activity:

每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。

3、发送特定广播:

在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。

4、递归退出

在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。

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

1.  FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

2.  LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局

(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。

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

4.  RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。

5.  TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。

简述Android应用程序结构是哪些?

Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、Application  

  Framework(开发框架包)、Applications(核心应用程序)

一、操作系统和驱动

二、各种库和运行环境

三、java框架(activity   manager  contentprovide)

四、核心应用程序

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

在Android3.0之前有两种动画,一种方式是补间动画 Tween Animation、另一种叫逐帧动画 Frame Animation(也称Drawable Animation ),Android3.0以后增加了属性动画 Property Animation。

Tween Animation只能应用于View对象,而且只支持一部分属性,如支持缩放旋转而不支持背景颜色的改变。而且对于Tween Animation,并不改变属性的值,它只是改变了View对象绘制的位置,而没有改变View对象本身.

Property Animation:动画效果表面上与补间动画差不多表示一个值在一段时间内的改变。从而的改变对象的属性值,当值改变时要做什么事情完全是你自己决定的

帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果

如何将 SQLite 数据库(dictionary.db 文件)与 apk 文件一起发布?

可以将 dictionary.db 文件复制到 Eclipse Android 工程中的资产文件assets或 res raw 目录中。所有在 res raw 目录中的文件不会被压缩,这样可以直接提取该目录中的文件。

你可能感兴趣的:(Android常见面试题解析一)