参加Android面试遇到的刁专题目
2016-11-12 本文已影响40人
启程_Start
1、讲下Java反射机制。
对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这叫做反射机制。
2、更改UI操作放在那里?
主线程。耗时操作放子线程执行,执行完将值传给主线程更改UI。
3、Intent可以传递哪些数据类型?
简单或基本数据类型;Bundle对象;Serializable对象;Parcelable对象。
4、Android常见的异常?
NullPointerException 空指针异常;ClassCastException 数据类型转换异常;
NumberFormatException 字符串转换为数字类型时抛出的异常;
ArrayIndexOutOfBoundsException 数组下标越界;IllegalArgumentException 参数错误。
5、Scrollview嵌套Listview会遇到什么问题和怎么解决?
问题:ScrollView嵌套ListView只显示一行。
原因:因为ScrollView无法正确计算Listview的大小。
解决:重写Listview。根据Listview的每个子项的高度重新计算出Listview的高度,将最后得出来的值给Listview显示。
问题:ScrollView中的ListView是不能滚动的。
原因:因为ScrollView和Listview都有滚动效果,冲突。
解决:重写触摸事件。手指触到Listview的范围内让Listview处理,否则让ScrollView处理。
6、ListView的性能优化?
重用convertView
判断convertView是否为空,如果为空,创建一个View对象使用;如果不为空,直接使用这个View。
使用ViewHolder类
通过View.setTag(holder)把View存储起来;通过View.getTag()把View取出来。
缓存数据
分页加载
7、Fragment?Activity?
Fragment是控件,Activity是组件。
Fragment要绑定要Activity中,Activity的生命周期直接影响Fragment的生命周期。
------------------------------------------------------------------------------------------------------------------
找了近两个月,最终找到了工作,还好。
所有的果都是有因的,别为曾经的不努力而后悔 --自勉。