android笔试题带答案

android笔试题带答案

ID:32798743

大小:58.86 KB

页数:3页

时间:2019-02-15

android笔试题带答案_第1页
android笔试题带答案_第2页
android笔试题带答案_第3页
资源描述:

《android笔试题带答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Android笔试题大全1•请解释下在单线程模型中Message,Handler,MessageQueue丄ooper之间的关系。1>拿主线程来说,主线程启动时会调用Looper.prepare()方法,会初始化一个Looper,放入Threadlocal中接着调用Looper.loop()不断遍历MessageQueue。2、Handler的创建依赖与当前线程中的Looper,如果当前线程没有Looper则必须调用Looper.prepare()o3、Handler通过调用sendl/lessa

2、ge()方法讲消息放入MessageQueue中,MessageQueue是一个先进先岀的队列,Looper不断从MessageQueue中取岀消息,把消息交给消息对应的Handler对象进行分发处理。2•内存溢出和内存泄漏有什么区別?何时会产生内存泄漏?内存优化有哪些方法?1、内存溢出通俗理解就是软件(应用)运行需要的内存,超出了它可用的最大内存。2、内存泄漏就是我们对某一内存空间的使用,使用完成后没有释放。3、内存优化:Android中容易内存溢出的部分,就是图片的加载,我们可以使用对图片的压缩

3、并且使用LruCache缓存的目的来控制图片所能够使用的内存。对比较耗资源的对象及时的关闭,例如DatabaseConn,流对象,游标,各种传感器,Service寺寺。3.AsyncTask使用在哪些场景?它的缺陷是什么?如何解决?1、AsyncTask运用的场景就是我们需要进行一些耗时的操作,耗时操作完成后更新主线程,或者在操作过程中对主线程的UI进行更新。2、缺陷:AsyncTask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还有一个缓冲队列,当线程池屮已有128个线程,缓冲队列

4、已满时,此时如果仍然向线程提交任务,将会抛出RejectedExecutionExceptiono3、解决:由一个控制线程来处理AsyncTask的调用判断线程池是否满了,如果满了则线程睡眠否则请求AsyncTask继续处理。4•同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?可以放在不同的Task中。需要为不同的activity设置不同的affinity屈性,启动activity的Intent需要包含FLAG_ACTIVITY_NEW_TASK标记。5.assets资源文件

5、夹和res资源文件夹的区别?1>assets:所有资源不会在R.java文件下生成相应的标记,assets文件夹可以白己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会直接打入程序安装包中,2、res:所有资源会在R.java文件下生成标记,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。资源会编译成二进制文件进行打包。3、在res文件夹下还可以定义一下目录:res/anim:这里存放的是动画资源。res

6、/xml冋以在Activity中使用getResource().getXML()读取这里的资源文件res/raw:该目录下的文件可以直接复制到设备上,不能有子文件夹,编译软件时,这里的数据不需要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.&横竖屏切换时候Activity的生命周期?1>不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行

7、一次,切竖屏时会执行两次。2、设置Activity的android:configChanges="onentation"时,切屏还是会重新调用各个生命周期,切横、竖屏吋只会执行一次。3、设置Activity的android:configChanges=Horientation

8、keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。4.0之后多配置一个属性screenSizeo7.AIDL的全称是什么?如何工作?1、全称是:Andro

9、idInterfaceDefineLanguage2、AIDL是一种接口描述语言。编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的.如果需要在一个Activity中,访问另一个Service中的某个对象,需要先将对象转化成AIDL可识别的参数(可能是多个参数),然后使用AIDL来传递这些参数,在消息的接收端,使用这些参数组装成自己需要的对象・AIDL的IPC的机制是基于接口,轻量级的。它使用代理类在客户端和实现层间传递值。3、使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。