一.四大组件是什么

Android 四大组件是Activity、Service、BroadcastReceive、ContentProvider

Activity

直接与用户交互的组件

周期:onCreate=>onStart=>onResume=>onPaused=>onStop=>onDestroy

启动模式: standard、singleTop、singleTask、singleInstance

1. 横竖屏切换生命周期不重启 设置android:configChanges

2.数据恢复

onSaveInstanceState-->onStop-->

onStart-->onRestoreInstanceState-->

Service

服务是运行在后台的组件,无需与用户进行交互

启动方式:

1.StartService: onCreate=>onStartCommand=>onDestroy

启动它的组件无关联,销毁需调用stopSelf或stopService

2.bindService: onCreate=>onBind=>onUnbind=>onDestroy

与启动组件绑定,所有绑定组件销毁后执行完unBind才会销毁

注:它本身还运行在主线程中,所以耗时逻辑仍需工作线程去完成

BroadcastReceive

广播用来在应用程序之间传播信息的机制

动态注册:registerReceive 注册组件销毁后,广播失效 unRegisterReceiver解除

静态注册:manifest中注册 安装时就会被系统解析一直起作用

普通广播

通过Context.sendBroadcast()方法来发送。它是完全异步的,所有的receivers接收器的执行顺序不确定 这种方式效率更高

有序广播

通过Context.sendOrderedBroadcast来发送。所有的receiver依次执行,使用android:priority属性设置优先级,优先级高的先收到该广播并且可以丢弃该广播,使该广播不再往下发送

ContentProvider

为应用提供数据共享,不用关注储存方式

ContentProvider(内容提供者)

ContentResolver(内容解析者)

ContentObserver(内容观察者)

1、创建自己的数据列表;
2、自定义ContentProvider实现相关的抽象方法;
3、在AndroidManifest中声明provider以及定义相关访问权限;
4 、通过ContentResolver根据URI进行增删改查;

二.Activity之间的通信方式

1.Intent

2.借助静态数据实现

3.借助全局变量来实现/Application

4.通过Service

5.借助外部存储

a.SharedPreference SharedPreference是存放在data/data/应用包名/shared_prefs目录下后缀为.xml的文件

b.SQLite SQLite是存放在data/data/应用包名/databases目录下的后缀为.db3的文件

c.File

三.Activity各种情况下的生命周期

正常

正常启动: onCreate=>onStart=>onResume

返回键退出:onPause=>onStop=>onDestroy

按home键

正常启动: onCreate=>onStart=>onResume

按home: onPause=>onStop

正常启动: onRestart=>onStart=>onResume

横竖屏切换

正常启动: onCreate=>onStart=>onResume

横竖屏切换:onPause=>onStop=>onDestroy=>onCreate=>onStart=>onResume

设置configChanges

正常启动: onCreate=>onStart=>onResume

横竖屏切换:onConfigurationChanged

android finish后不能ondestroy_Android面试基础(一)相关推荐

  1. androID程序!BAT大厂面试基础题集合,附带学习经验

    没有稳定的工作,只有稳定的能力. 又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触 趋势 随着各类移动跨平台的兴起,在 R ...

  2. Android面试基础一

    Android面试基础二-原理及常见问题 目录 1.四大组件 1)Activity 2)Service 3)ContentProvider 4)Broadcast Receiver 2.四大组件的生命 ...

  3. Android 面试基础

    最近很多小伙伴又在找工作了,汇总一些面试基础题,希望对大家有帮助. 1. 请描述一下Activity 生命周期. 共有七个周期函数,按顺序分别是: onCreate(), onStart(), onR ...

  4. Android面试基础之BroadcastReceiver详解(斗帝养成系列四)

    斗帝养成 大斗师,一至九星,斗气铠甲,斗气外放,聚气化固态,呈菱形.别说自己尽力了,那只是自欺欺人的假话. Android面试基础之Activity详解(斗帝养成系列一) Android面试基础之Se ...

  5. Android面试基础之ContentProvider详解(斗帝养成系列三)

    斗帝养成 斗师,一至九星,斗气纱衣,聚气化液态. 我匆忙了一生,我却留不下任何东西. Android面试基础之Activity详解(斗帝养成系列一) Android面试基础之Service详解(斗帝养 ...

  6. 7年老Android一次操蛋的面试经历,挥泪整理面经

    看到还有很多程序员连面试流程都没有彻底弄清楚,今天,我们以阿里为例,来聊聊互联网大厂的面试流程和过程! 本篇主要还是聊聊社招的面试过程!阿里以及其他的互联网大厂的技术类社招面试,通常情况是 4 个轮次 ...

  7. 7年老Android一次操蛋的面试经历,灵魂拷问

    前言 说不焦虑其实是假的,因为无论是现在还是最近几年,很早就有人察觉Android开发的野蛮生长时代已经过去.过去的优势是市场需要,这个技术少有人有,所以在抢占市场的时候,基本上满足需要就已经可以了. ...

  8. 30岁了还去面试基础岗位,是不是很失败?

    30岁了还去面试基础岗位,是不是很失败? 文 | 洪生鹏 01 之前有位读者和我分享了他的一段职场经历: 张工是一名移动开发程序员,七年开发经验,三年服务端开发经验,4年移动开发经验.前段时间去面试A ...

  9. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天--JAVA基础回顾 这才学习Android的 ...

最新文章

  1. LeetCode : Valid Parentheses
  2. python 序列化_python之序列化
  3. 第13/24周 统计信息
  4. jzoj4020-Revolution【网络流,最小割】
  5. C++PrimerPlus学习——第六章编程练习
  6. 官网下载的mysql密码忘了怎么办_MySQL密码忘了怎么办?MySQL重置root密码方法
  7. bz 1029: [JSOI2007]建筑抢修
  8. javascript实现的自适应宽度的瀑布流
  9. 游戏开发之C++类和对象相关概念实例(C++)
  10. 阅读SSM项目之scm
  11. F28335的ADC采集电压不对(ADC采集模块的输入信号的两个端子是:正极:ADCINAx ,负极是:ADCL0)
  12. 通往诺贝尔奖之路:盘点10个著名的科学家族
  13. 简述igp和egp_igp egp
  14. 分享一个在线去水印网站
  15. 【Nginx】关于二级域名配置https
  16. 西藏计算机一级,西藏计算机等级考试级别
  17. AI工具是帮手还是助手:
  18. java 搭建ota服务器_OTA配置服务器
  19. Neuromation新研究:利用卷积神经网络进行儿童骨龄评估
  20. 【调剂】郑州大学河南先进技术研究院2022年硕士研究生招生拟调剂信息公告

热门文章

  1. 【nexus】nexus : mac 安装 nexus
  2. 08-R包那么多,怎么才能快速找到自己需要的包呢?
  3. spark学习-Spark的mapPartitions与MapPartitionsWithIndex理解
  4. java 如何捕获线程中的异常处理_如何捕获Java中另一个线程抛出的异常?
  5. 太牛了!分享一个Github上都没有的“网约车”项目!!!
  6. 错误记录( 六)tomcat 配置图片虚拟路径不起作用
  7. java ee 员工管理系统,fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT...
  8. spring配置文件最全约束
  9. 最优化设置mysql的max_connections
  10. Unix Tutorial Four