【 karle 专栏 】Android 初探底层知识系列
这一系列底层知识基于Android 6.0.1版本。
概述
在我还是菜鸟的时候,有很多技术都不明白,也找不到答案,比如,apk是如何安装的?资源是怎么加载的?再比如,AIDL,只听未用过。四大组件也是这个问题,我只用过Activity,其他三个组件不但没有用过,甚至连他们是做什么的,都不是很清楚。
之所以是这样,是因为我一直从事的是金融类App开发的工作,这类App基本是由列表和详情组成。所以每天面对的是Activity,写好这两个类页面,再把网络请求框架封装好就够了。绝大多数App开发人员都是如此。但直到接触Android热更新和插件化等技术,我才发现只掌握这些还不足以支撑我四处游荡的灵魂.....
在网上看了很多文章,但大多都是给ROM开发人员看的,之贴出部分代码,繁多文章,琐碎的代码,让App开发人员看的头大。那该如何吸收这部分知识?
可以简单的把Android底层知识分为两种: -type one:知道概念即可,比如Zygote,其实开发人员不需要了解Zygote的,知道有这么个东西是“云与天地”的就够了,类似的还有SurfaceFlinger、WMS这些概念。 -type two:需要知道内部原理,比如binder,需要了解他的架构模型,Client、server以及ServerManager。它们都扮演者哪些角色?他们是如何分工?
这个系列将介绍以下概念,掌握这些底层知识,你就可以进军Android插件化大门了。 - binder; - AIDL ; - AMS; - 四大组件的工程原理; - PMS; - App 安装过程; - ClassLoader 以及双亲委托。
【 karle 专栏 】Android 初探底层知识系列相关推荐
- 写给Android App开发人员看的Android底层知识合集(1-8)
写给Android App开发人员看的Android底层知识合集(1-8) 转自包老师:http://www.cnblogs.com/Jax/p/6864103.html 写给Android App开 ...
- Android音视频学习系列(六) — 掌握视频基础知识并使用OpenGL ES 2.0渲染YUV数据
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- Android音视频学习系列(五) — 掌握音频基础知识并使用AudioTrack、OpenSL ES渲染PCM数据
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- android 集成同一interface不同泛型_C# 基础知识系列- 10 反射和泛型(二)
0. 前言 这篇文章延续<C# 基础知识系列- 5 反射和泛型>,继续介绍C#在反射所开发的功能和做的努力.上一篇文章大概介绍了一下泛型和反射的一些基本内容,主要是通过获取对象的类型,然后 ...
- Android 驱动(3)---Android驱动开发知识储备
Android驱动开发知识储备 Android软件层次结构 (1)操作系统层 显示驱动(Frame Buffer),Flash内存驱动,照相机驱动,音频驱动,WiFi驱动,键盘驱动,蓝牙驱动,Bind ...
- 【karle 专栏】2019一起做个App吧。「掘金技术征文」
扯皮:想做一款app 大概是在我17年去上海出差脑袋冒出的想法,我很喜欢开发app,也想参与开发一款大众熟知的App,只是我当时对整个app开发接触的很少,对后端服务器知识更是少之又少.每当看到鸿洋大 ...
- Android盒子 摄像头,UVC系列1-Android盒子控制云台摄像头系列
微信公众号:Android部落格 个人网站:chengang.plus/ 文章最初发布在CSDN 1.知识点 Android作为host端控制云台摄像头整个实现过程中涉及了Android kernel ...
- Android音视频学习系列(八) — 基于Nginx搭建(rtmp、http)直播服务器
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- 多层高速PCB设计学习(一)初探基本知识(附单层设计补充)
系列文章内容 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...
最新文章
- linux下远程传输文件命令scp使用注解
- oozie调度中的重试和手工rerun一个workflow
- 区块链4.0DexChain是什么?
- yolov3 推理所需要的时间_目标检测-番外五:YOLOv3-Plus
- geth bootnodes
- java 8入门与实践_30个Java入门技巧和最佳实践
- table 样式详解
- [原] insert into … on duplicate key update / replace into 多行数据
- 性能测试之JMeter测试结果写入Excel
- 序列化,pickle,shelve,json,configparser
- LINUX下用select实现串口通讯示例
- (一)Flask 学习 —— Hello World
- c语言逻辑推理题大全,C语言逻辑推理例题(附答案)
- Clover 驱动文件夹_使用Clover安装macOS入门指南
- mt6735通用recovery_mt6735刷机包下载
- [嵌入式学习必备网站分享]嵌入式开发必须收藏的二十个网站 内附超链接 实用 嵌入式单片机学习网站
- HTML文本格式化标签详解
- 【大爱】C++STL 常用 函数 用法(转载自duoduo3_69)
- 一种将海康大华宇视等安防摄像机发布到H5网页微信进行直播的全终端无插件播放技术方案
- 微信小程序中实现地图导航