`
sabolasi
  • 浏览: 908900 次
文章分类
社区版块
存档分类
最新评论

Android面试题目大全

 
阅读更多
什么是Activity?
请描述一下Activity生命周期。
onCreate() //在activity生命周期开始时被调用。
onRestoreInstanceState() //onCreate完成后被调用,用来恢复UI状态。
onRestart() //当activity从停止状态重新启动时调用。
onStart() //当activity对用户即将可见的时候调用。
onResume() //当activity与用户交互的时候,重绘屏幕。
onSaveInstanceState() //activity即将移出栈顶保留UI状态时调用此方法。
onPause() //当系统要启动一个其他的activity时调用(其他的activity显示之前),这个方法被用来提交那些持久数据的改变、停止动画、和其他占用 CPU资源的东西。由于下一个activity在这个方法返回之前不会resumed,所以实现这个方法时代码执行要尽可能快。
onStop() //用户不再可见时调用
onDestroy //在activity被销毁前所调用的最后一个方法,当进程终止时会出现这种情况

两个Activity之间跳转时必然会执行的是哪几个方法。
横竖屏切换时候Activity的生命周期。
如何将一个Activity设置成窗口的样式。
你后台的Activity被系统 回收怎么办?
如何退出Activity?如何安全退出已调用多个Activity的Application?
如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
两个Activity之间怎么传递数据?
怎么让在启动一个Activity是就启动一个service?
同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?
Activity怎么和service绑定,怎么在activity中启动自己对应的service?
什么是Service以及描述下它的生命周期。
Service有哪些启动方法,有什么区别,怎样停用Service?
不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?
什么是IntentService?有何优点?
什么时候使用Service?
请描述一下Intent 和 Intent Filter。
Intent传递数据时,可以传递哪些类型数据?
说说Activity,Intent,Service是什么关系 。
请描述一下Broadcast Receiver。
在manifest和代码中如何注册和使 用 broadcast receiver 。
请介绍下ContentProvider是如何实现数据共享的。
请介绍下Android的数据存储方式。
SharedPreferences:用来存储”key-value paires“格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。
文件存储:通过FileInputStream和FileOutputStream对文件进行操作。在Android中,文件是一个应用程序私有的,一个应用无法读写其他应用程序的文件。
3.SQLite数据库存储:Android提供的一个标准数据库,支持SQL语句。
网络:通过网络来存储和获得数据。
ContentProvider:是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。它是一个特殊的存储数据的类型,它提供了一套标准的接口用来获取数据、操作数据。系统也提供了音频、视频、图像和个人信息等几个常用的Content Providers。如果你想公开自己的私有数据,可以创建自己的Content Provider类,或者当你对这些数据拥有控制、写入的权限时讲这些数据添加到Content Provider中实现共享。外部访问通过ContentResolver去访问并操作这些被暴露的数据。组织数据主要包括:存储数据,读取数据,以数据库的方式暴露数据。数据的存储需要根据设计的需求,选择合适的存储结构,首选数据库,当然也可以选择本地其他文件,甚至可以是网络上的数据。数据的读取,以数据库的方式暴露数据这就要求,无论数据是如何存储的,数据最后必须以数据的方式访问。

为什么要用ContentProvider?它和sql的实现上有什么差别?
请介绍下Android中常用的五种布局。
最常用的布局方式为LinearLayout、RelativeLayout、FrameLayout、TableLayout AbsoluteLayout。其中LinearLayout和RelativeLayout是最常用的方式,他们可以通过在xml配置文件或者代码中进行布局。
FrameLayout 最简单的布局方式,放置的控件都只能罗列到左上角,控件会有重叠,不能进行复杂的布局。
LinearLayou可以通过orientation属性设置线性排列的方向是垂直(vertical)还是纵向(horizontal).每行或每列只有一个元素,可以进行复杂的布局。
AbsoluteLayout 可以让子元素指定准确的x/y坐标值,并显示在屏幕上。AbsoluteLayout 没有页边框,允许元素之间互相重叠(尽管不推荐)。他是绝对坐标,所以在实际中不提倡使用。
RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。因此,你可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。这个是相对于 AbsoluteLayout 的,采用的相对坐标,所以在实际中比较常用。
TableLayout 将子元素的位置分配到行或列中。一个TableLayout 由许多的TableRow 组成,每个TableRow 都会定义一个 row 。TableLayout 容器不会显示row 、column或cell 的边框线。每个 row 拥有0个或多个的cell ;和html中的table差不多。在实际中也经常使用。
有的时候我们也会用到GridView,就像我们手机屏幕上摆放的各个图标应该就是用GridView排版的。

谈谈UI中, Padding和Margin有什么区别?
padding 箱内补白,margin箱外补白
Padding是文字相对于边框,而Margin是边框相对于父窗体。

widget相对位置的完成在antivity的哪个生命周期阶段实现。
请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
AIDL的全称是什么?如何工作?能处理哪些类型的数据?
请解释下Android程序运行时权限与文件系统权限的区别。
运行时 Dalvik( android授权) 
文件系统 linux 内核授权

系统上安装了多种浏览器,能否指定某浏览器访问指定页面?
对多线程的运用和理解,及多线程之间handle的传值。(mark)
对android虚拟机的理解,包括内存管理机制垃圾回收机制。
Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。
android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
如何加载的音乐信息,如何改善其效率。
ListView如何提高其效率?
启动应用后,改变系统语言,应用的语言会改变么?
启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
Android程序与Java程序的区别?
Android中Task任务栈的分配。
在Android中,怎么节省内存的使用,怎么主动回收内存?
不同工程中的方法是否可以相互调用?
在Android中是如何实现判断区分通话记录中的电话状态,去电,来电、未接来电?
dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念
sim卡的EF 文件有何作用
如何判断是否有SD卡?
嵌入式操作系统内存管理有哪几种, 各有何特性。
什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
一条最长的短信息约占多少byte?
Linux中跨进程通信的几种方式 。
谈谈对Android NDK的理解。
谈谈Android的优点和不足之处。
Android系统中GC什么情况下会出现内存泄露呢?
Android UI中的View如何刷新。
简单描述下Android 数字签名。
什么是ANR 如何避免它?
android中的动画有哪几类,它们的特点和区别是什么?
handler机制的原理。
android中线程与线程,进程与进程之间如何通信。
说说mvc模式的原理,它在android中的运用。
android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别。
DDMS与TraceView的区别?
res目录有默认几项resource。
android的哪个版本是一次重大的升级?

copy from:http://hi.baidu.com/455611934/blog/item/39a123d4af29b2d251da4bd7.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics