版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、android 常见面试题以及答案 android 常见面试题以及答案 1. 请描述下activity的生命周期。 2. 如果后台的activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 3. 如何将一个activity设置成窗口的样式。(edited by sodino) 4. 如何退出activity?如何安全退出已调用多个activity的application? 5. 请介绍下android中常用的五种布局。 6. 请介绍下android的数据存储方式。(edited by sodino) 7. 请介绍下contentprovider是如何实现数据共享的。(edit
2、ed by sodino) 8. 如何启用service,如何停用service。(edited by sodino) 9. 注册广播有几种方式,这些方式有何优缺点?请谈谈android引入广播机制的用意。 10. 请解释下在单线程模型中message、handler、message queue、looper之间的关系。 11. aidl的全称是什么?如何工作?能处理哪些类型的数据? 12. 请解释下android程序运行时权限与文件系统权限的区别。(edited by sodino) 13. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。 14. 有一个一维整型数组int
3、data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。 15. 你如何评价android系统?优缺点。 1. android dvm的进程和linux的进程, 应用程序的进程是否为同一个概念 dvm 执行时,在linux看来就是一应用程序进程,所以说是同一概念 2. sim卡的ef 文件有何作用 sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己的操作系统,ef就是作存储并和手机通讯用的 4.嵌入式操作系统内存管理有哪几种, 各有何特性 页式,段式,段页,用到了mm
4、u,虚拟空间等技术 5. 什么是嵌入式实时操作系统, android 操作系统属于实时操作系统吗? 分 硬实时和软实时,android属于linux内核,linux在用户空间可抢占,内核空间在2.4以后可局部抢占,严格来讲 android属于软实时系统 6. 一条最长的短信息约占多少byte? 1、 android dvm的进程和linux的进程, 应用程序的进程是否为同一个概念 dvm指dalivk的虚拟机。每一个android应用程序都在它自己的进程中运行,都拥有一个独立的dalvik虚拟机实例。而每一个dvm都是在linux 中的一个进程,所以说可以认为是同一个概念。 2、sim卡的ef
5、 文件有何作用 sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己的操作系统,ef就是作存储并和手机通讯用的 3、嵌入式操作系统内存管理有哪几种, 各有何特性 页式,段式,段页,用到了mmu,虚拟空间等技术 4、 什么是嵌入式实时操作系统, android 操作系统属于实时操作系统吗? 嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时
6、系统。又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。 5、一条最长的短信息约占多少byte? 中文70(包括标点),英文160,160个字节 6、 android中的动画有哪几类,它们的特点和区别是什么? 两种,一种是tween动画、还有一种是frame动画。tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。 7、handler机制的原理 andriod提供了 handler 和 looper 来满足线程间的通信。handler 先进先出原则。l
7、ooper类用来管理特定线程内对象之间的消息交换(message exchange)。 1)looper: 一个线程可以产生一个looper对象,由它来管理此线程里的message queue(消息队列)。 2)handler: 你可以构造handler对象来与looper沟通,以便push新消息到message queue里;或者接收looper从message queue取出)所送来的消息。 3) message queue(消息队列):用来存放线程放入的消息。 4)线程:ui thread 通常就是main thread,而android启动程序时会替它建立一个message queue
8、。 8、说说mvc模式的原理,它在android中的运用 mvc(model_view_contraller)”模型_视图_控制器”。 mvc应用程序总是由这三个部分组成。event(事件)导致controller改变model或view,或者同时改变两者。只要 controller改变了models的数据或者属性,所有依赖的view都会自动更新。类似的,只要controller改变了view,view会 从潜在的model中获取数据来刷新自己。 一,listview你是怎么优化的。 二,view的刷新,之前说过 三,ipc及原理 四,android多线程6 n; 五,android为什么要设
9、计4大组件,他们之间的联系,不设计行不行(主要是为了实现mvc模式,然而java中最难的模式也是这个,很少有产品能将这个模式做得很好【technicolor的面试官问的这个】) 六,service的周期,activity的周期,谈下你对android内部应用的了解,比如他做电话,以及联系人等等应用。框架层有很多东西还是多看看,熟悉android怎么做的,不管你做应用程开发还是应用框架层开发很有好处的。 在就是你项目经验,突出你遇到什么难点,然后是怎么解决的!尽量将每个技术点凸显出来,当然面试官有时候会为了体现你是否真正做过,他会问你,你在这个应用中做那个模块,用了多少个类之类的问题。 偶尔有的
10、面试官会问你,你用过android自带的单元测试了没,怎么用的? 当然我面试过很多家单位,有的是做平板,手机,数字电视,有的是做出个erp之类的客户端等等,出于前面的三个,基本上都是将android的全部改掉,如果真正要做android的话,大家要学的还很多。 总之,一句话,什么样的面试官都有,去面试的时候要做好一切心理准备,不管是技术还是基础都得扎实。一个人的交谈能力也很重要,总之不是非常标准的普通话,最起码你说的得让别人听得懂,而且得把面试官讲得非常彻底,这样你获得offer的机会更大,谈工资也有优势当然曾经一家公司的面试官跟我说过,技术是不惜钱的,只要你有能力,多少钱他都请。 确实,来北
11、京求职期间,牛人真的很多,而且有的面试官也非常好,给了很多忠肯的意见。并不是每个面试官都特想为难你的最主要的还是想知道你的技术,因为他们也是吃公司饭,得为这个负责。 view重绘和内存泄露的好像是面试经常问的问题 1. view的刷新: 在需要刷新的地方,使用handle.sendmessage发送信息,然后在handle的getmessage里面执行invaliate或者postinvaliate. 2. gc内存泄露 出现情况: 1.数据库的cursor没有关闭 2.构造adapter时,没有使用缓存contentview 衍生listview的优化问题-减少创建view的对象,充分使用c
12、ontentview,可以使用一静态类来优化处理getview的过程/ 3.bitmap对象不使用时采用recycle()释放内存 4.activity中的对象的生命周期大于activity 调试方法: ddms= heapszie=dataobject=total size 还有其他问题,大家欢迎提出阿,可以是整体架构的,还有这个hal层. 这篇文章会涉及到以下几个内容 一 activity的生命周期 二 让activity变成一个窗口:activity属性设定 三 你后台的activity被系统 回收怎么办:onsaveinstancestate 四 调用与被调用:我们的通信使者 - in
13、tent 一 activity的生命周期 和其他手机 平台 的应用 程序 一样,android的应用程序 的生命周期是被统一掌控 的,也 就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习 并 适应它。 简单地说一下为什么是这样:我们手机在运行 一个应用程序的时候,有可能打进来电话 发进来短信 ,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能 ,另 外系统也不允许你占用太多资源 ,至少要保证电话功能吧,所以资源不足的时候也就有可 能被干掉。 如何优化android中listview滚动速度的方法 他是让你滚动的快点还是慢点? 慢的话: 有个延迟加载数据的
14、方法,在api的demo中。 要是让listview滚动速度快的话,你可以这样告诉他: 让他的手指在屏幕上迅速的上下滑动,当他的手指移动速度达到100px/0.1秒后,就可以看到快速滑动的效果了! android的国际化与本地化 internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称l10n。 一般说明一个地区的语言时,用 语言_地区的形式,如 zh_cn, zh_tw. 各国语言缩写 android 对i18n和l10n提供了非常好的支持。android没有专门的api来提供国际化,而是通过对不同reso
15、urce的命名来达到国际化,同时这种命名方法还可用于对硬件的区分,如不同的新视屏用不同的图片。 在eclipse的工程中,res目录有默认几项resource,如 drawable, layout,menu,values 其余还有 res/anim/ 用来放置动画 res/xml/ 用来放置style theme等xml定义。 res/raw/ 用来放置data数据 我们引用这些resource时候,在java代码中是通过r.resource_type.resource_name的方式来使用,如settitle(r.string.main_title); 还有一种是在xml中直接引用,如 an
16、droid:id =android:layout_width= android:layout_height= android:text=/ 引用了名字为hello的字符串。当程序运行时,通过resource类会装载strings.xml中名字为hello的字符串。但resource类装载strings.xml时会根据当前手机的设置来选择装载哪一个xml文件。这些手机设置有 mcc and mnc, language and region, screen dimensions, wider/taller screens, screen orientation,screen pixel densi
17、ty, touchscreen type, sdk version,也就是说通过手机当前语言区域,屏幕的大小,屏幕像素,以及当前android sdk的版本号来选择。通过把strings.xml放置在以这些选项命名的文件夹下,resource类就能正确的装载所需的字符串。 我们以不同的local和region来做一次国际化,首先values表示默认的字符串,也即当resource找不到匹配的资源时,默认使用values文件夹下的资源,其余 drawable等资源也是同样的。 当命名这些文件夹的名字时,不同的选项用-分开,而且次序必须和 andorid 文档中table #alternatere
18、sources 文件夹的命名必须都是小写字符,否则在一些大小敏感的文件系统中可能会出错,如果你用大写,eclipse的adt都会自动报错。小写字母r表示region的意思。 上图命名了中文简体和繁体以及默认选项,在strings.xml中除了字符串本身不一样,xml中定义该字符串的名字,id都是一样的。所以在代码或者xml中引用该资源时,只要引用名字即可或者id即可,程序启动时候resource类回到相应的目录下去寻找正确的字符串(资源) 通过在settings中设置locale& text 我们可以让resource类来选择相应文件夹下的内容, 选择英语时候结果如下,也即选择了 values下的strings.xml 选择 chinese(china)时,也即选了 values-zh-rcn目录下的strings.xml 选择 chinese(taiwan)时,也即选了 values-zh-rtw目录下的strings.xml 其余手机的选项,像
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五类防控对象练习题及参考答案
- 地被花卉考核题目和答案
- 中医保健养生知识试题及答案
- 现代信息素养练习题及答案分享
- 2025-2026学年文山壮族苗族自治州丘北县四年级数学下学期期末复习检测模拟试题(含答案)
- 2025-2026学年广西东兴市三年级数学第二学期期末教学质量检测模拟试题(含答案解析)
- 2025-2026学年常德市鼎城区三年级数学第二学期期中学业水平测试模拟试题含答案
- 2025-2026学年山东省德州市禹城区三年级数学下学期期末联考试题(含答案)
- 药物合成工艺模拟试题及答案分享
- 2026年疫苗自查报告(3篇)
- 河南省2026年中考数学试卷(含答案)
- 2026年秋季新学期第一次全体教师大会上校长讲话刷屏了:“教育从来都是一地鸡毛但别忘了当初为什么来!”
- 2026年领导干部网络学法用法法律知识竞赛考试题库及答案
- 肿瘤患者的活动与运动指导
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 2026年贵州省事业单位联考真题及答案
- 2026年小学语文教师学科专业知识考试试题及答案
- 新版医疗器械生产质量管理规范解读
- GB/T 17315-2026玉米种子生产技术规程
- 全国总工会工会财务制度
- 新型建筑材料 课件全套 第1-13章 绪论、材料的基本性质 -混凝土3D打印技术
评论
0/150
提交评论