没有合适的资源?快使用搜索试试~ 我知道了~
android初级工程师 面试问题及答案总结
5星 · 超过95%的资源 需积分: 43 142 下载量 117 浏览量
2013-09-03
15:42:41
上传
评论 17
收藏 128KB DOCX 举报
温馨提示
试读
39页
之前找工作面试android开发工程师 遇到的很多问题加上之前整理好的文档,把面试题好好的总结了一次,绝对的经典。如果你是面试android开发初级工程师,面试官问道的有关android方面的问题,几乎都可以在里面找到,当然你别忘看有关java方面的知识,可以看另一个java面试题目总结下载资源。
资源推荐
资源详情
资源评论
Android 常用面试简答题
1、 android 中的动画有哪几类,它们的特点和区别是什么?
参考答案:
有两种,一种是 (补间) 动画、还有一种是 (帧) 动画。
动画,这种实现方式可以使视图组件移动、放大、缩小以及产生
透明度的变化;另一种 动画,传统的动画方法,通过顺序的播
放排列好的图片来实现,类似电影。
2、 请简述 Handler 的机制原理
参考答案:
提供了 和 来满足线程间的通信。
先进先出原则。
类 用 来 管 理 特 定 线 程 内 对 象 之 间 的 消 息 交 换
。
)一个线程可以产生一个 对象,由它来管理此线程
里的 消息队列。
)你可以构造 对象来与 沟通,以便
新 消 息 到 里 ; 或 者 接 收 从
取出所送来的消息。
) 消息队列用来存放线程放入的消息。
)线程:!"#通常就是 #,而 $启动程序时
会替它建立一个 。
3、 说说 mvc 模式的原理,它在 android 中的运用
参考答案:
%&是 '%'&#的缩写,从上图可以看出 %&包含
三个部分:
模型( )对象:是应用程序的主体部分,所有的业务逻辑都应
该写在该层。
视图( %)对象:是应用程序中负责生成用户界面的部分。也是
在整个 %&架构中用户唯一可以看到的一层,接收用户的输入,显示
处理结果。
控制器( &#)对象:是根据用户的输入,控制用户界面数据显
示及更新 对象状态的部分,控制器更重要的一种导航功能,想用
用户出发的相关事件,交给 哦得了处理。
$鼓励弱耦合和组件的重用,在 $中 %&的具体体现如
下
视图层( () :一般采用 文件进行界面的描述,使用的时
候可以非常方便的引入,当然,如何你对 了解的比较的多了话,
就一定可 以想到在 中也可以使用 )(#*#等的方式
作为 (层,当然这里需要进行 )(和 )(#之间的通 信,幸
运的是, 提供了它们之间非常方便的通信实现。
控制层( #): 的控制层的重 任通常落在了众多
的 #(#+的肩上,这句话也就暗含了不要在 #(#+中写代码,要
通过 #(#+交割 业务逻辑层处理, 这样做的另外一个原因是
中的 #(#+的响应时间是 ,,如果耗时的操作放在这里,
程序就很容易被回收掉。
模型层( ): 对数据库的操作、对网络等的操作都应该在
里面处理,当然对业务计算等操作也是必须放在的该层的。
4、通过 Intent 传递一些二进制数据的方法有哪些?
参考答案:
-使用 ./0对象序列化的接口接口实现序列化,这是 1(
常用的方法。
-实现 20内容描述接口接口,这里 $ 的部分类比如
3# 类就已经实现了,同时 20 在 $$"4 中交换数
据也很常见的。
5、在 onCreate 方法中 Bundle savedInstanceState 这个参数有什
么作用?
参考答案:
在 &# 方法中有 ("#.## 这个参数,其实这个
参 数 对 应 两 个 方 法 。 ( .("#.##3
#.## ; ( 5#"#.##3
("#.##。当某个 #(#+ 变得“容易”被系统销毁时,说
白了就是系统在内存不足或者其他异常情况下把你的 $#(#+ 销毁时,
将调用这个方法。需要注意的是它是系统调用的,并且你的 $#(#+ 是
被动得被销毁。你可以在销毁的时候保存一下数据。然后在 &#
方法中拿出来。那什么情况下能触发这两个方法呢?
)、当用户按下 6 键时。
这是显而易见的,系统不知道你按下 6 后要运行多少其他的程序,
自 然 也 不 知 道 #(#+ $ 是 否 会 被 销 毁 , 故 系 统 会 调 用
.("#.##,让用户有机会保存某些非永久性的数据。以下
几种情况的分析都遵循该原则
)、长按 6 键,选择运行其他的程序时。
)、按下电源按键(关闭屏幕显示)时。
)、从 #(#+$ 中启动一个新的 #(#+ 时。
,)、屏幕方向切换时,例如从竖屏切换到横屏时。
在屏幕切换之前,系统会销毁 #(#+$,在屏幕切换之后系统又会自
动地创建 #(#+$,所以 .("#.## 一定会被执行
总而言之,.("#.## 的调用遵循一个重要原则,即当系
统“未经你许可”时销毁了你的 #(#+,则 .("#.## 会被
系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的
数据(当然你不保存那就随便你了)。
至 于 5#"#.## 方 法 , 需 要 注 意 的 是 ,
.("#.## 方法和 5#"#.## 方法 “ 不 一
定”是成对的被 调用的,5#"#.## 被调用的前提是
#(#+$7确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情
况下,则该方法不会被调用,例如,当正在显示 #(#+$ 的时候,用
户按下 6 键回到主界面,然后用户紧接着又返回到 #(#+$,这
种情况下 #(#+$ 一般不会因为内存的原因被系统销毁,故 #(#+
$ 的 5#"#.## 方法不会被执行
另 外 , 5#"#.## 的 0 参 数 也 会 传 递 到
&# 方法中,你也可以选择在 &# 方法中做数据还原。
6、请谈谈 Acvity 的生命周期?
参考答案:
在 系统 中 的 $#(#+ 被 一 个 $#(#+ 栈所 管理 。 当 一 个 新 的
$#(#+ 启动时,将被放置到栈顶,成为运行中的 $#(#+,前一个
$#(#+ 保留在栈中,不再放到前台,直到新的 $#(#+ 退出为止。
$#(#+ 有四种本质区别的状态:
)在屏 幕 的 前 台 ($#(#+ 栈顶 ),叫做活动 状 态 或者运行状态
(#()
)如果一个 $#(#+ 失去焦点,但是依然可见(一个新的非全屏的
$#(#+或者一个透明的 $#(#+被放置在栈顶),叫做暂停状态
(2)。一个暂停状态的 $#(#+ 依然保持活力(保持所有的状
态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的
时候将被杀掉。
)如果一个 $#(#+ 被另外的 $#(#+ 完全覆盖掉,叫做停止状态
剩余38页未读,继续阅读
Ac_Rambler
- 粉丝: 244
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页