2022年Android开发工程师面试题最新整理
试题1
Android开发工程师的面试题
一般简单题
1.Androiddvm的进程和Linux的进程,应用程序的进程是否
为同一个概念?
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己
的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM
都是在Linux中的一个进程,所以说可以认为是同一个概念。
2.SIM卡的EF文件有何作用?
sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本
个人网站模板和代码身可以有自己的操作系统,EF就是作存储并和手机通讯用的。
3.嵌入式操作系统内存管理有哪几种,各有何特性?
页式,段式,段页,用到了 MMU,虚拟空间等技术。
4.c连接mysql什么是嵌入式实时操作系统,Android操作系统属于实时操
作系统吗?
嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并
以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控
制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一
致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天
等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又
可分为软实时和硬实时两种,而android是基于linux内核的,因此
属于软实时。
5.一条最长的短信息约占多少byte?
中文70(包括标点),英文160个字节。
6.Android中的动画有哪几类,它们的特点和区别是什么?
两种,一种是Tween动画、还有一种是Frame动画。Tween动画,
这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变
化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的
图片来实现,类似电影。
7.handler机制的原理
Andriod提供了 Handler和Looper来满足线程间的通信。
Handler先进先出原则。Looper类用来管理特定线程内对象之间的
消息交换(MessageExchange)
Looper: 一个线程可以产生一个Looper对象,由它来管理此线
程里的MessageQueue (消息队列)。
Handler:你可以构造Handler对象来与Looper沟通,以便push
新消息到MessageQueue里;或者接收Looper从MessageQueue取
出)所送来的消息。
MessageQueue (消息队列):用来存放线程放入的消息。
线程:Ulthread通常就是mainthread,而Android启动程序
时会替它建立一个MessageQueue。web前端基础面试题
8.说说MVC模式的原理,它在Android中的运用
MVC(Model_view_contraller) w 模型_视图_控制器MVC 应
用程序总是由这三个部分组成。Event (事件)导致Controller改变
Model或View,或者同时改变两者。只要Controller改变了 Models
的数据或者属性,所有依赖的View都会自动更新。类似的,只要
Controller改变了 View, View会从潜在的Model中获取数据来刷新
自己。
View重绘和内存泄露
View重绘和内存泄露的好像是面试经常问的问题。
1.View的刷新:onreceivevalue
在需要刷新的地方,使用handle, sendmessage发送信息,然后销售smart原则个人计划例子
在 handle 的 getmessage 里面执行 invaliate 或者 postinvaliateo
2.GC内存泄露
出现情况:
数据库的cursor没有关闭。
构造adapter时,没有使用缓存contentviewo衍生listview
的优化问题:减少创建view的对象,充分使用contentview,可以
使用一静态类来优化处理getview的过程。
Bitmap对象不使用时采用recycle ()释放内存。
required翻译中文
activity中的对象的生命周期大于activity0
Activity
1.Activity的生命周期
和其他手机平台的应用程序一样,Android的应用程序的生命周
期是被统一掌控的,也就是说我们写的应用程序命运掌握在别人(系
统)的手里,我们不能改变它,只能学习并适应它。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。