1、Activity的生命周期
     onCreate(Bundle saveInstanceState):创建activity时调用。
     onStart():activity可见时调用
     onResume():activity与用户交互时调用
     onRestart():当一个activity再次启动之前调用该方法
     onPause():当前暂停、或调用另一个activity之前调用该方法。
     onStop():当前activity变为不可见时调用该方法
     onDestory():当前activity被销毁之前调用该方法
2、横竖切换时候Activity的生命周期
     不设置activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏
时会执行一次,切竖屏时会执行两次
     设置activity的android:configChanges="orientation"时,切屏会重新调用各个生命周期
但切横屏与竖屏都之会执行一次
    设置activity的android:configChanges="orientation|keybordHidden"时,切屏不会
重新调用各个生命周期,只会执行onConfigurationChanged方法
3、如何将一个activity设置成窗口模式。
  将activity的属性android:theme="@style/Theme.Dialog"
4、当后台的activity被系统回收怎么办
  系统会帮我们记录下回收前activity的状态,再次调用被回收的activity就要重新调用
onCreate()方法,不同直接启动的是这次onCreate()里是带参数的savedInstanceSate;一般
可以判断其是否为null,不为null时可以使用它来恢复到回收前的状态。
5、如何退出activity?如何安全退出已调用的多个activity的application
  用finish()方法退出activity
  在结束应用时,发送一个特定的广播,相对应的activity收到广播后,关闭即可。
6、后台的activity由于某种原因被系统回收了,如何在被系统回收之前保存当前的状态
  被回收之前调用的onSaveInstanceState()方法保存当前的状态
7、怎么在启动一个activity时就启动一个service
  将启动的service的语句放在onCreate()方法中。
8、Activity怎么和Service绑定,怎么在activity中启动自己对应的Service
   Activity能进行绑定得益于Service的接口。在实现Service必须实现onBind方法
   Service和Activity的连接可以用ServiceConnection来实现。在实现一个新的ServiceConnection
,重写onServiceConnected和onServiceDisconnected方法,一旦连接建立,就能得到Service实例的引用。
   执行绑定,调用bindServcie方法,传入一个选择了要绑定的Service的Intent和一个实现了的ServiceConnection实例
9、什么是Service以及描述下它的生命周期
   Service是运行在后台的android组件,没有用户界面,不能与用户交互,可以运行在自己的进程,也可以运行在其他应用程序的上下
文里。
   Service随着启动形式的不同,其生命周期稍有差别。当用Context.startService()来启动时,Service的生命周期依次为:oncreate——>
onStartCommand——>onDestroy 当用Context.bindService()启动时:onStart——>onBind——>onUnbind——>onDestroy
10、Service有哪些启动方法,有什么区别,怎么停用Service?
   Service启动方式有两种;一是Context.startService和Context.bindService。
   区别是通过startService启动时Service组件和应用程序没多大的联系;当用访问者启动之后,如果访问者不主动关闭,Service就不会关闭,Service组件之间
因为没什么关联,所以Service也不能和应用程序进行数据交互。而通过bindService进行绑定时,应用程序可以通过ServiceConnection进行数据交互。在实现Service
时重写的onBind方法中,其返回的对象会传给ServiceConnection对象的onServiceConnected(ComponentName name, IBinder service)中的service参数;也就是说获取
了serivce这个参数就得到了Serivce组件返回的值。Context.bindService(Intent intent,ServiceConnection conn,int flag)其中只要与Service连接成功
conn就会调用其onServiceConnected方法
   停用Service使用Context.stopService
11、不用Service,B页面为音乐播放,从A跳到B,再返回,如何使音乐继续播放?
   A使用startActivityForResult方法开启B,B类结束时调用finish;A类的Intent有一个子Activity结束事件onActivityResult,在这个事件里继续播放音乐。
12、什么是IntentService?有何有点?
  IntentService也是一个Service,是Service的子类;
  IntentService和Service有所不同,通过Looper和Thread来解决标准Service中处理逻辑的阻塞的问题
   优点:Activity的进程,当处理Intent的时候,会产生一个对应的Service,Android的进程处理器现在会尽可能的不kill掉你。
13、什么时候使用Service?
  比如播放多媒体的时候用户启动了其他的Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,在或者在后台记录你地理位置的改变等等
14、说说Activity、Intent、Service是什么关系
  一个Activity通常是一个单独的屏幕,每一个Activity都被实现为一个单独的类,这些类都是从Activity基类中继承来的,Activity类显示有视图控件组成的用户接口
,并对视图控件的事件做出响应。
Intent的调用是用来进行架构屏幕之间的切换的。Intent是描述应用想要做什么。Intent数据结果中最重要的部分是动作和动作对应的数据,一个动作对应一个动作数据。Android
 Service是运行在后台的代码,不能与用户交互,可以运行在自己的进程,也可以运行在其他应用程序的上下文里。需要通过某一个Activity或其他Context对象来调用。 Activity\
跳转到Activity,Activtiy启动Service,Service打开Activity都需要Intent表明跳转的意图,以及传递参数,Intent是这些组件间信号传递的传承者。
15、请介绍ContentProvider是如何实现数据共享的
ContentProvider是通过提供Uri来实现数据共享
16、请介绍下android的数据存储方式
   Android提供了5种方式存储数据
 使用SharedPreferences存储数据;
 文件存储数据;
 SQLite数据库存储数据
 使用ContentProvider存储数据;
 网络存储数据
17、android中常用的五种布局
  线性布局LineayLayout、相对布局RelativeLayout、帧布局FrameLayout、表格布局TablElAYOUT,绝对布局AbsoluteLayout。
18、谈谈UI中,Padding和Margin有什么区别?
  Padding是文字相对于边框,而Margin是边框相对于父窗体
19、请解释一下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
  子线程借用主线程里面的handler发送一条消息,这个消息会被线程放入消息队列里面,也就是message queue,主线程里面有一个轮询器looper会发现
消息队列里面有一条消息时,会调用handler消息处理执行handlermessage的方法去处理这个消息,这个handlemessage的方法可以更新ui控件内容了
20、AIDL的全称是什么?如何工作?能处理哪些类型的数据?
  ADIL是一种接口定义语言,用于约束两个进程之间的通信规则,供编译器生成代码,实现android设备之间的进程通信。
  进程之间的通信信息首先会被转换成AIDL协议消息,然后发送给对方,对方受到AIDL协议消息后在转换成相应的对象。AIDL支持类型包括java基础类型和String,List,Map,CharSequence,如果
使用自定类型,必须实现Parcelable接口

Android面试题整理(1)的更多相关文章

  1. Android面试题整理【转载】

      面试宝典(5)  http://www.apkbus.com/android-115989-1-1.html 面试的几个回答技巧 http://blog.sina.com.cn/s/blog_ad ...

  2. 19、android面试题整理(自己给自己充充电吧)

    (转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问 ...

  3. Android ----------------- 面试题 整理 一

    1. XML的解析方式都有哪些? 每一种解析方式的运行流程? 设XML为:<a>a<b>bc<c>c1</c></b></a> ...

  4. Android面试题整理

    1.    请描述下Activity的生命周期. 2.    如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 3.    如何将一个Activity设置成窗口的样 ...

  5. Android高级工程师面试题整理

    这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联网公司面试被问到的题目.熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率. 主要分为以下几部分: (1)java ...

  6. Android面试题(文章内容来自他人博客)

    腾讯面试题 1.int a = 1; int result = a+++3<<2; 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); ...

  7. 【Android进阶】Android面试题目整理与讲解(一)

    这一篇文章专门整理一下研究过的Android面试题,内容会随着学习不断的增加,如果答案有错误,希望大家可以指正 1.简述Activity的生命周期 当Activity开始启动的时候,首先调用onCre ...

  8. 2017 Android 面试题 [ 基础与细节 ]

    2017 Android 面试题 [ 基础与细节 ] 感谢@chuyao抛出的这些问题,平时业务代码写多了,很多基础的东西变得含糊不清了,这次裸辞出来找工作确实没有之前顺利,顺便求上海Android开 ...

  9. 金9银10,分享几个重要的Android面试题

    说一下java多态的理解,以及接继承,和接口的理解 于哥在这里只讲多态,其他自己上网体会 对于多态的定义不同类的对象对统一函数做出不同对的响应或者动作.作用主要是消除类之间的耦合性,灵活性比较强,利于 ...

随机推荐

  1. HDU3496-Watch The Movie

    描述: New semester is coming, and DuoDuo has to go to school tomorrow. She decides to have fun tonight ...

  2. Struts2,Spring,Hibernate三大框架的整合(SSH)

    一.搭建struts2 1).导入struts2 jar包 2).编写web.xml 3).编写jsp页面 4).创建action类,action类要继承ActionSupport类 5).创建str ...

  3. Git远程仓库的使用(三)

    1)git remote add : 添加远程仓库 git remote add origin git@github.com:用户名.仓库名.git 2) git push –u origin mas ...

  4. selenium 学习笔记 ---新手学习记录(10) 问题总结(java)--poi--excel 操作

    1.当我使用poi想要操作xlsx时,报错,解决方法下载xmlbeans-2.6.0.jar架包,引入即可.点我下载 https://yunpan.cn/cSdVqp6e4v6Jk  访问密码 2c5 ...

  5. IAR Embedded Workbench for ARM 6.50.6 & 6.60.1 破解补丁

    IAR EWARM 6.50.6 & 6.60.1 破解 破解原理和方法见:http://blog.csdn.net/chivalrys/article/details/8564568 IAR ...

  6. Java算法——O(n)查询数列中出现超过半数的元素

    主要思想: 相邻元素两两比较,如果相同存入新数组,不同二者都删除.如果 某数出现次数超高n/2,则最后剩下的1元素为所求. public static int findMostElem(final A ...

  7. 基于Visual C++2013拆解世界五百强面试题--题3-打印螺旋数组

    请用C语言实现 输入N,打印N*N矩阵 比如 N = 3, 打印: 1 2 3 8 9 4 7 6 5 N = 4, 打印 1   2    3   4 12  13   14  5 11  16   ...

  8. 动态链接库dll,静态链接库lib, 导入库lib

    转载地址:http://www.cnblogs.com/chio/archive/2008/08/05/1261296.html 目前以lib后缀的库有两种,一种为静态链接库(Static Libar ...

  9. javadoc入门

    斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处! java凝视 java里面有两种类型的凝视.一种是以"/*"起头,以 ...

  10. 谁动了我的CurrentPrincipal?解释一下为什么CurrentPrincipal变了,并解决这个问题。

    在上一篇博客中我遇到了一个问题,并且导致了我无法继续进行授权和验证.经过查阅资料和解决另外一个问题的过程,我突然想通了为什么CurrentPrincipal变了.并且经过验证后的确是我所理解的那样.下 ...