【学习资料】Android开发工程师面试题精选
发布时间:2015年05月20日 14:12分 来源:博为峰教育网采编 关键词:Android,面试题 | 上一篇 | 下一篇 |
Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。
Message Queue(消息队列):用来存放线程放入的消息。
线程:UI thread 通常即为main thread,而Android启动程序时会替它建立一个Message Queue。
8. 说说MVC模式的原理,它在Android中的运用
答:MVC(Model_view_contraller)” 模型_视图_控制器”。 MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要 Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
9.Android开发工程师面试题之View重绘和内存泄露
(View重绘和内存泄露的好像是面试经常问的问题。)
a. View的刷新:
在需要刷新的地方,使用handle. send message发送信息,然后在handle的get message里面执行invalidate或者post invalidate。
b. GC内存泄露
出现情况:
数据库的cursor没有关闭。
构造adapter时,没有使用缓存contentview。衍生listview的优化问题:减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程。
Bitmap对象不使用时采用recycle()释放内存。
activity中的对象的生命周期大于activity。
Android开发工程师在面试中遇到的更多问题,敬请关注博为峰Android课程。