面试题库 - 让你面试从此无忧!

面试题-java面试题|面试题及答案|php 面试题|c 面试题|面试问题|java程序员面试题|android面试题|c#面试题|php面试题

当前位置: 面试题首页 > Android >

android面试题目汇总篇【android面试题】

时间:2012-02-22 17:43来源:android面试题 作者:android面试题 点击: 面试题 www.wangzhanjianghu.com
android面试题目汇总篇【android面试题】

 

  android面试题目汇总篇【android面试题

  为什么要用ContentProvider?它和sql的实现上有什么差别?

  使用ContentProvider 可以将数据共享给其他应用,让除本应用之外的应用也可以访问本应用的数据。它的底层是用SQLite 数据库实现的,所以其对数据做的各种操作都是以Sql实现,只是在上层提供的是Uri

  AIDL的全称是什么?如何工作?能处理哪些类型的数据?

  AIDL 是一种接口定义语言,用于约束两个进程间的通信规则,供编译器生成代码,实现Android 设备上的进程间通信。

  进程之间的通信信息首先会被转换成AIDL 协议消息,然后发送给对方,对方受到 AIDL 协议消息后再转换成相应的对象。

  AIDL 支持的类型包括Java 原生类型和String,List,Map,CharSequence,如果使用自定义类型,必须实现Parcelable 接口

  启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?

  从主界面启动一个应用 程序是通过快捷方式直接调mainActivity 启动的,从其他应用程序调用需要隐式的通过Action 或者在 Intent 中需要使用setClasss() ,且要写明包路径.

  如何判断是否有SD卡?

  在程序中访问SDCard,需要申请访问SDCard 的权限

  在AndroidManifest.xml 中加入访问SDCard 的权限如下:

  < !--在SDCard 中创建与删除文件权限-->

  < uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

  < !-- 往SDCard 写入数据权限 -->

  < uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

  Environment.getExternalStorageState().equals(Enviroment.MEDIA_MOUNTED)

  Environment.getExternalStorageState() 方法用于获取SDCard 的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。

  Android系统中GC什么情况下会出现内存泄露呢?

  出现情况 :

  1. 数据库的 cursor 没有关闭

  2. 构造 adapter 时,没有使用缓存contentview

  衍生listview 的优化问题----减少创建view 的对象,充分使用contentview,可以使用一静态类来优化处理 getView 的过程

  3. Bitmap 对象不使用时采用recycle() 释放内存

  4. Activity 中的对象的生命周期大于Activity

  调试方法: DDMS----> HEAPSIZE --->dataobject ---> [Total Size]

  android 中有哪几种解析xml 的类,它们的原理和区别

  DOM 解析

  优点:

  1. XML 树在内存中完整理存储,因此可以直接修改其数据和结构。

  2. 可以通过该解析器随时访问XML树中的任何一个节点.

  3. DOM 解析器的 API 在使用上也相对比较简单

  缺点: 如果XML 文档体积比较大时,将文档读入内存是非常消耗系统资源的。

  使用场景:

  DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C标准.DOM 是以层次结构组织的节点的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能进行工作.DOM 是基于对象层次结构的。

  SAX解析

  优点: SAX 对内存的要求比较低,因为它让开发人员自己来决定所要处理的标签。特别是当开发人员只需要处理文档中所包含的部分数据时,SAX 这种扩展能力得到了更好的体现。

  缺点: 用SAX 方式进行XML解析时,需要顺序执行,所以很难访问到同一文档中的不同数据。此外,在基于该方式的解析编码过程也相对复杂。

  使用场景: 对于含有数据量十分巨大,而又不用对文档的所有数据进行遍历或者分析的时候,使用该方法十分有效。该方法不用将整个文档读入内存,而只需读取到程序所需的文档标签即可.

  Xmlpull 解析

  android 提供了xmlpull api ,xmlpull 和sax 类似,是基于流(stream) 操作文件,然后根据节点事件回调开发者编写的处理程序。因为是基于流的处理,因此xmlpull 和 sax 都比较节约内存资源,不会象DOM 那样要把所有节点以对象树的形式展现在内存中。

  xmlpull 比sax 更简明,而且不需要扫描完整个流.

  res目录有默认几项resource

(责任编辑:面试)
分享到:
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
栏目列表
推荐内容