- android面试题总结加强版 推荐度:
- 相关推荐
总结的android面试题
ContentProvider部分相关如下:
1.说说ContentProvider与Android数据存储的关系?
答案:作为数据的一个提供者,把数据提供给其他应用程序。(相当于提供数据的接口)
2.ContentProvider对象何时被实例化?
答案:系统初始化的时候自动实例化
3.ContentProvider数据模型画出来?(类似于一张表)
答案: 分三层 一、数据存储 二、提供数据中间件contentProvider(增删改查) 三、 App调用
4.ContentProvider的机制是什么?
答案: 此应用程序在安装和卸载的时候就会分别 regist 和unregist 到providerManager里面供其他应用程序的ContentResolver 来访问
5.ContentProvider试用步骤?
1.定义provider
2.注册provider 注意进程间通信
<provider
android:name=".MyContentProvider"
android:authorities="qyj.contentprovder.MyContentProvider"
android:multiprocess="true">
6.列举系统提供的几个ContentProvider
Brower、Calllog 、ContatsContract、Calender、MediaStore、Settings、userDictionary Activity部分相关如下:
1.activity作用以及定义?
官方定义:activity是Android应用程序提供交互界面的一个重要组件。也是android最重要的组件之一
官方定义不是特别准确:
Activity是业务类,是承载应用程序的界面以及业务行为的基础包括UI、Service ??类似于javaBean
2.口述Activity Window View 三者之间的关系 (提示压力泵layoutinflate)
3.事件上传机制view最先接到事件 传给 Window 然后Window分发出去(keyEvent和 touchEvent)
4.请描述一下Activity的生命周期?(理解记忆那张图)
5.请描述一下横竖屏切换时候的Activity的生命周期?
整个activity的生命周期(可以去控制不执行哪个方法)
用法:
1.重写onConfigurationChanged()
2.横竖屏改变需要
6.什么是TASK?
Task就是多个activity按照顺序组成的一个业务逻辑-----不是官网的定义是自己的总结
7.描述一下Activity的Tast Stack模型?(详细解释上官网看activity)
diagram_backstack(同一个进程的activity也就是单个任务栈):
diagram_multitasking(不同进程的activity也就是多个个任务栈):
8.Intent是什么?
包含的内容:
compnentName 要启动的组件(比如activity、Service??)
Action 过滤条件intentfilter里面的字符串
Data 要与intentfilter里面指定的data前缀格式一样才行
Category 类别
Extras 附加
Flags 标记
9.Activity如何保存和恢复?(一般用在进程被杀死的时候)
当进程干掉的时候才有可能去调onRestoreInstanceState()
10.startActivity机制?(看源码-----返回值的应用(返回得到date 例子:拍照返回图片)
11.startActivity为什么要用IBinder(IPC进程间通信机制) 来启动?
启动的activity有可能不在同一个进程当中
12.intent-filter的用法(启动activity的时候过滤)?
名字随便起
默认必须有data数据中的Uri前缀
13.Activity配置详解如下(不全 需要的看官网或自己加)
说明:一般情况下,launch中重新启动这个任务都会清楚底部以上的activity这个可以保留 Sample(例子):某人从主页屏幕载入activityP,并从哪里到达activityQ。用户接下来按HOME键,然后返回到activityQ。因为那时他在P的task里操作的地方。然后,如果P将该标志设置为true,当用户按了HOME键,该task进到后台去的时候,其上的所有的activity(Q也属于这种情况)讲被移除。所以以后回到该task时看到的只有P。
说明:当用户再次载入该task时(在主页屏幕上选择该task),一个既存的activity实例是否应该被关闭---------ture表示会被关闭 false表示不会 。默认值为false。
说明:ture允许次activity给其他进程调用 false 不允许其他进程调用次activity 默认为false
说明:如果他的值为“:string”形式 根据需要给他一个新的进程 如果他的值为“string” 修改进程别名
说明:是否保存activity的状态(也就是上面的值啦)如果为false就保存 为true就不保存。默认为false。
说明:横竖屏切换----“unspecified”不指定切换方式---是默认值 “sensor”通过感应器来控制切换
说明:activity执行的四种模式------根据任务栈的相关只是来看这个属性
singleTop:当它在栈顶的时候就不会再去实例化它了(mp3播放界面适合这种) 会调用的他的onNewIntent()生命周期方法。
singleTask:当他在当前栈里面已经实例化了的时候,再次调用它的时候它会关闭(destroy掉它上面的所有activity)然后调用它的onNewIntent()生命周期方法。------最后它跑到栈顶了。
singleInstance:独立成栈(开辟了一个新栈) 并且有且只有它自己一个实例。
退栈原则:先退当前栈,当前栈里面的activity退完了,再退接下来的栈
一个A 一个B 自己写个例子练习一下。
【总结的android面试题】相关文章:
android面试题201704-04
android面试题及答案04-04
android面试题整理04-04
android面试题大全04-04
android面试题练习04-04
android测试面试题04-08
android面试题总结加强版05-07
android软件测试面试题04-04
android面试题库04-04