Android应用层源码阅读笔记--Application

导言

在这个年头,问到看过android 源码没?必定问的就是你是否看过android linux层的代码,你说没看过,都貌似不好意思说自己学过android的.我就想了,android linux层的代码对于一个没搞过linux,c/ c++的人来说,对于一个从c#,java,python,js 转过来学android的人来说对于他们有啥意义?难道我会用 gcc 编译一段 c语言,然后在内核上打上一个patch实现一个关机闹钟才是真正的会android ?能力有限,就做下应用层的源码笔记.

一个程序的开始---Application

什么?一个程序的开始是activity?好吧,不跟你争论,咱们来看下源代码是怎么处理.

Applcation 这个可以说的上是我们android 应用程序的开始,不管你之前知不知道这个类,它都默默的完成了android程序的初始化工作...接着就开始了我们的activity. 源码还是很好懂的: private ArrayList mComponentCallbacks = new ArrayList(); private ArrayList mActivityLifecycleCallbacks = new ArrayList();

在代码的最后还有两个获得所有回调的方法 collectXXXXXXXX()这个很好懂不作解释

application 用了两个arraylist 进行我们组件和activity生命周期的管理,我们再来看下(在哪里看?上面的传送门不去?)ActivityLifecycleCallbacks ,是不是很熟悉!不就是我们一开始学的activity的玩意了,所有的开始就是从这里定义的了. 接下来就是对组件的注册和移除,这个不用说各位一定能看得明白.

接下来看下内部api!

除了一开始的 attach,你会看得剩下的都是一堆dispatch XXX 开头的方法,这会你查下字典的话,你就发现,就是有"调度,分配"的意思,这些api就是控制我们所有!activity的开始就是处这里开始的了!

没了..

从application开始看源代码的话,不会感觉到那么绝望,建议读应用层的从这里开始,收获一下自信心..下一次,咱们来说说android 应用核心部分:Context是个什么玩意..

python 安卓应用层_Android应用层源码阅读笔记--Application相关推荐

  1. 【附源码】计算机毕业设计Python安卓“我爱厨房”APP5loq7(源码+程序+LW+调试部署)

    [附源码]计算机毕业设计Python安卓"我爱厨房"APP5loq7(源码+程序+LW+调试部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置 ...

  2. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  3. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  4. 代码分析:NASM源码阅读笔记

    NASM源码阅读笔记 NASM(Netwide Assembler)的使用文档和代码间的注释相当齐全,这给阅读源码 提供了很大的方便.按作者的说法,这是一个模块化的,可重用的x86汇编器, 而且能够被 ...

  5. CI框架源码阅读笔记4 引导文件CodeIgniter.php

    到了这里,终于进入CI框架的核心了.既然是"引导"文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http:// ...

  6. Yii源码阅读笔记 - 日志组件

    2015-03-09 一 By youngsterxyf 使用 Yii框架为开发者提供两个静态方法进行日志记录: Yii::log($message, $level, $category); Yii: ...

  7. AQS源码阅读笔记(一)

    AQS源码阅读笔记 先看下这个类张非常重要的一个静态内部类Node.如下: static final class Node {//表示当前节点以共享模式等待锁static final Node SHA ...

  8. 【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型

    1.概述 转载:Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型 相似文章:[Flink]Flink 基于 MailBox 实现的 StreamTask 线程模型 Fl ...

  9. 【Flink】Flink 源码阅读笔记(18)- Flink SQL 中的流和动态表

    1.概述 转载:Flink 源码阅读笔记(18)- Flink SQL 中的流和动态表

  10. 【Flink】Flink 源码阅读笔记(16)- Flink SQL 的元数据管理

    1.概述 转载:Flink 源码阅读笔记(16)- Flink SQL 的元数据管理 Flink 源码阅读笔记(17)- Flink SQL 中的时间属

最新文章

  1. PowerShell-Exchange:统计每天邮件收发
  2. 2017年英特尔在其数据中心业务和AI方面下大注
  3. 面试官:你能告诉我一个请求过来,Spring MVC 是如何找到正确的 Controller 的?
  4. 前端面试常见HTML问题(一)
  5. Document Builder: Error message No virus scan provider available for scanner group CXP_VSCAN
  6. Android 获得ImageView中Image的绘制大小
  7. laravel的重定向
  8. 软件测试基础课程学习笔记3---软件测试方法
  9. Oracle分析函数简析
  10. ResNet网络模型
  11. 2021-11-19 工作记录--apiCloud-YDUI下拉框
  12. ESP8266连接天猫精灵(一)
  13. 三大检索工具(SCI、EI、ISTP)
  14. idea中的常用快捷键(新手必看)
  15. Italvibras M3/4-S02振动电机M3/20-S02 3/100-S02 3/200-S02 MVSI 3/300-S02振动电机
  16. 华为机试HJ55:挑7
  17. vscode试图写入的管道不存在
  18. xml与map的相互转换
  19. 云呐:机房资产管理系统web版,设备资产信息管理的应用
  20. rancher k8s集群pod一直处于Pending状态

热门文章

  1. 使用FileWriter向文本文件中写信息
  2. 形式语义学-JLU-ZHH
  3. ​观点|我离开AI行业的5个理由
  4. 给定一列非负整数,求这些数连接起来能组成的最大的数。
  5. Kaggle实战之leaf classification(树叶分类)
  6. 主引导扇区(MBR)释疑
  7. 前端小知识-html5
  8. eclipse中导入dtd文件实现xml的自动提示功能
  9. MongoDB-Replication Replica Set Arbiter
  10. 解决设置redmineblacklog的按钮无效问题