Android 四大组件面试
Android 四大组件面试
前言
仅用于知识点简介,详细描述建议百度,主要是一些个人的理解总结,可以在面试时来回答,所以并不是很详细,只是总结~ 后续应该会不断更新
Activity、Service、BroatcastReceiver、ContentProvider
1. Activity
活动页面
- 生命周期:
- onCreate()、onStart()、onResume()、onPause()、onStop() 和 onDestroy()
- Activity 跳转时:A -> B,A onPause() -> B onCreate() -> B onStart() -> B onResume() -> B onStop(),最后一步 A onStop 如果 B 是半透明即 A 依然可见,那么就不会调用
- 四个状态:1. running->当前显示在屏幕的activity(位于任务栈的顶部),用户可见状态。2. poused->依旧在用户可见状态,但是界面焦点已经失去,此Activity无法与用户进行交互。3. stopped->用户看不到当前界面,也无法与用户进行交互 完全被覆盖.4. killed->当前界面被销毁,等待这系统被回收
- Activity 间传递数据- Intent 传值- 静态变量- SP、ContentProvider- 广播- 外部存储File- SQLite
- Activity 状态的暂存与恢复- 一般会自动保存- 内存不足时,可以在onSaveInstanceState() 保存信息到 Bundle
- 横竖屏切换- 如果不设置 android:configChanges,则会根据生命周期重新构建- 设置的话则会调用 onConfigurationChanged()
- 启动模式- standard:每启动一个Activity就会在栈顶创建一个新的实例- singleTop:该模式会判断要启动的Activity实例是否位于栈顶,如果位于栈顶直接复用,否则创建新的实例- singleTask:使Activity在整个应用程序中只有一个实例。每次启动Activity时系统首先检查栈中是否存在当前Activity实例,如果存在则直接复用,并把当前Activity之上所有实例全部出栈- singleInstance:该模式的Activity会启动一个新的任务栈来管理Activity实例,并且该势力在整个系统中只有一个。无论从那个任务栈中启动该Activity,都会使该 Activity 所在的任务栈转移到前台,从而使Activity显示。主要作用是为了在不同程序中共享一个Activity
2. Service
服务
- startService
- 用于启动一个服务执行后台任务,不与组件进行通信
- 停止服务使用stopService。
- 启动后便可以在后台无限的运行下去(除非系统杀死回收)
- 生命周期:onCreate、onStartCommand、onDestroy
2. bindService:- 用于启动的服务需要进行通信。- 停止服务使用unbindService- 多个组件可以同时与服务绑定,但是当他们全部都解除绑定时,服务就会销毁。- 生命周期:onCreate、onBind、onUnbind、onDestroy
3. Broadcast Receive
广播是一种广泛运用的在应用程序之间传输信息的机制。而广播接收器是对发送出来的广播进行过滤接受并响应的一类组件
- 注册
- AndroidManifest.xml中注册;
- 在运行时的代码中使用Context.registerReceive()进行注册。
2. 类型- 普通广播:sendBroadcast,接收顺序随机,接收器不能处理,不能拦截- 系统广播:手机的基本操作(短信拍照等),有特定的 Intent-Filter和Action- 有序广播:根据级别确定接收顺序,同级别随机。优先级高的可以修改,可以拦截- 粘性广播
3. 耗时的操作放在服务中,否则容易被杀死
4. Content Provider
使一个应用程序的指定数据集提供给其他应用程序
Android 四大组件面试相关推荐
- Android四大组件和启动模式(面试总结)
一.Android四大组件详解 Android四大组件分别为Activity.Service.Content Provider.Broadcast Receiver. 1.Activity (1)一个 ...
- Android四大组件之BroadCastReceiver
1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...
- Android 四大组件之——Service(一)
一.什么是服务 服务,是Android四大组件之一, 属于 计算型组件. 长期后台运行的没有界面的组件 ,特点是无用户界面.在后台运行.生命周期长 二,什么时候使用服务? 天气预报:后台的连接服务 ...
- Android 四大组件之——Acitivity(一)
一,什么是Activity activity是Android组件中最基本也是最为常见用的四大组件之一.Android四大组件有Activity,Service服务,Content Provider内容 ...
- Android——四大组件、六大布局、五大存储
一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...
- 重温Android四大组件(一)—Activity的生命周期
前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
- Android 四大组件 —— 服务
一.服务是什么 服务(Service)是Android 中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使当程序被切换 ...
- android四大组件的作用简书,Android四大组件是什么
Android四大组件是:活动.服务.广播接收器.内容提供商.它们的英文名称是ACTIVITY.SERVICE.BroadcastReceiver.Content Provider.四个组件分别起到不 ...
- Android 四大组件 与 MVC 架构模式
作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...
最新文章
- MySQL 备份和恢复策略
- 基于java+jdbc+servlet+jsp实现图书商城
- docker搭建redis
- Centos7安装nginx教程!超简单
- 分享3个数据分析实战项目(附最新资料包)
- 多头注意力代码解读(非常好的一个版本)
- 虚拟主机下asp.net 2.0的验证控件失效
- 1%大气密度也能飞?NASA把无人机送上火星,最具野心探测计划启动
- 领域驱动设计(1) DDD的一些基础概念
- 网上查信用报告,什么是问题验证?
- 为什么机会总是留给有准备的人?这是我听过最好的答案
- python实现BMI计算器
- 24c02读程序C语言详解,24C02读写C语言程序
- ACAD DWG to PDF Converter 9.8.2.4版本更新啦
- 再厚的马赛克都能被扒干净?这款去码神器火了
- virtual Box与Vagrant的安装与踩坑
- mysql插入时间少八个小时
- CentOS 修改系统时区和更新时间
- 【python】argv的用法
- 零基础学习java值得看的几本书
热门文章
- 喜马拉雅FM专辑下载器,支持VIP付费专辑下载
- 设计师配色宝典!教你从零开始学配色(一)
- 如何搭建谷歌离线地图服务
- 综合评价方法之秩和比法(RSR)
- 初中计算机位图和矢量图教案,浅析图形图像软件教学中位图与矢量图的区别
- 人工智能教程(1.1)
- adb刷入第三方recovery_全网热门机型TWRP_Recovery最全面整理合集覆盖安卓全机型
- [转]PSP使用指南之- 系统升级(降级)
- lisp visual 开根号_分享Visual Lisp程序第二波|文件的读与写-lsp文件
- 计算机的启动盘,做win7启动盘制作方法