34. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。
虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,
谈谈加载图片的时候怎么处理大图片的,压缩。
垃圾回收,没有引用的对象,在某个时刻会被系统gc掉,跟java一样。
35. Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。
反射+配置文件来做的。可以讲下activity的源码,比如说 每个activity里面都有window.callback和keyevent.callback,一些回调的接口或者函数吧. 框架把activity创建出来就会调用里面的这些回调方法,会调用activity生命周期相关的方法.
Activity创建一个view是通过 ondraw 画出来的, 画这个view之前呢,还会调用onmeasure方法来计算显示的大小.
36. android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
这个问题问的有问题, apk包大小限制不好说,
*飞车有100M 还是能装到手机上,
世面google market 上大程序 主程序 很小 5~10M 下载sdcard
15分钟之内 申请退款
apk包,精简包, 素材存放在服务器. 游戏程序.
读大文件的时间限制应该是main线程里面的时间限制吧.
Activity 不要超过5秒.
Service 不要超过20秒
37. 如何加载的音乐信息,如何改善其效率。
Android提供mediascanner,mediaStore等接口, 音乐文件的信息都会存放到系统的数据库表中,可以通过content provider获取,
显示出来,改善效率,是个常见问题, 可以从以下几个方面作答,
分批加载数据, 延时加载数据, 合理使用缓存等...
38. ListView如何提高其效率?
复用convertview , 历史的view对象
减少子孩子查询的次数 viewholder
异步加载数据, 分页加载数据,下拉加载。
使用静态的view对象 避免创建过多的view.
39.启动应用后,改变系统语言,应用的语言会改变么?
40.启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
没有区别,通过图标是launcher来启动的,跳转是别的应用启动的。 区别是根据activity在manifest里面的配置,这个activity可能会放在不同的task栈里面
intent设置的flag flag_new_task
41. Android程序与Java程序的区别?
Android程序用android sdk开发,java程序用javasdk开发.
Android SDK引用了大部分的Java SDK,少数部分被Android SDK抛弃,比如说界面部分,java.awt swing package除了java.awt.font被引用外,其他都被抛弃,在Android平台开发中不能使用。 android sdk 添加工具jar httpclient , pull opengl
将Java 游戏或者j2me程序移植到Android平台的过程中,
Android SDK 与Java SDK的区别是很需要注意的地方。
sampledataadpter()