2. 什么是FC?如何避免FC的发生,另外FC发生时如何捕获相应的uncaught exception?
3. Asynctask的优缺点?能否同时并发100+asynctask呢?
4. Handler有何作用?如何使用之(具体讲需要实现什么function)?
5. 有哪些实现自定义控件的方法?
6. CMWAP, CMNET有何区别,网络通讯时是否要特殊处理?如何切换接入点?
7. 能否讲讲你用过的adapter?
8. 已经发布了软件版本A,使用sqlite存储用户数据其DB version为1包含某张表T1,则其后需要发布版本B,在版本A的T1表结构的基础上又增加了2个新的字段,则能否在保存用户已经安装的版本A的数据的前提下,更新安装新版本B?
9. 你怎么看待在android上面应用MVC框架,是否有必要抽象独立于activity的C?
10. 各种基础问题--侧重考察熟练度,例如有几种在activity之间切换的方法?能否描述一下android平台的framework的层次结构?etc。。。
==========================================================
1、ANR也就是经常会碰到的“应用程序无响应弹框”,导致ANR出现的原因一般是因为主UI线程阻塞(Android认为5秒内主UI线程未响应就阻塞了),那么解决的方法就是将耗时的,大的运算用异步线程完成,再通过Handler刷新主UI线程。
2、FC就是崩溃啦,像平时常遇到的空指针,数组越界等异常都会导致FC,可以用try/catch语句捕获异常并做相应的异常处理。
3、AsyncTask是Android提供的异步类,优点是封装好使用简单,过程可控,缺点就是对多个异步操作和UI更新就复杂,AsyncTask底层的线程池最大并发数为128条。
4、Handler作用为接受子线程通知并更新主UI线程,使用需extends Handler并Override handleMessage(Message)方法,该方法用来接收消息,使用Handler对象.sendMessage(Message)方法发送消息。
5、自定义控件,通过实现View或View子类,实现View(Context),View(Context, AttributeSet),View(Context, AttributeSet, int)构造方法,通过重写onDraw()等方法实现自定义控件。
6、做网络应用的时候经常需要判断用户网络类型,如果用户是CMWAP类型就需要设置代理,因为CMWAP是通过GPRS的WAP网关10.0.0.172,应用程序必须支持HTTP代理协议和WAP网关协议,所以在使用WMWAP时需要设置代理,httpCilent.getParams.setParament(ConnRoutePNames.DEFAULT_PROXY, new HttpHost("10.0.0.172",80));。
7、主要有ArrayAdapter、SimpleAdapter、BaseAdapter。
8、重写SQLiteOpenHelper的onUpgrade()方法来更新数据库版本。
9、从Android结构图就可以看出Android的分层和松耦合,所以Android应用同样也可以用MVC(xml布局是V,数据库,网络等死M,Activity是C),Activity是C那还需要再抽象吗。
10、一种是startActivity(),一种是startActivityForResult()