Android 系统及客户端概览
这是我参与「第四届青训营」笔记创作活动的的第1天
概要
- 移动互联网生态
- Android知识图谱
- Android系统概览
- Android开发工具
移动互联网生态
- 移动互联网只有十几年的历史
- 本质是人与人之间的关系
- 所有的App都在争一种资源——用户注意力
- 短视频类型的应用占用用户时间最多(短视频->社交->资讯->长视频->游戏->购物...)
Android知识图谱
从宏观上看,作为一个客户端研发来说,面对的场景主要分为:
对外—创造用户价值
第一层交付:页面+逻辑+数据
第二层交付:多样性需求
第三层交付:体验+质量+安全+个性化
国民App面对的是什么?
- 抖音每年消耗 9亿度电,相当于三峡7‰
- 每年羊毛党 1000亿 市场规模
- 一个季度抖音处理 刷分刷赞3020万次,协助抓获诈骗嫌疑人75人
- 每天6亿人来抖音随便看看
对内—降低公司成本
第一层交付:单人效能
第二层交付:团队效能
自身—打造自身的技术品牌
第一层交付:基本技能
第二层交付:技术高度
-
- 当你在某个领域可以达到行业前20%,职业生涯就延长了
- 当你在两个领域达到行业前20%,天花板就很高了
第三层交付:综合素养
-
- Stay Hungry, Stay Foolish
发展金字塔
Android系统概览
- System Apps:系统app和自己开发的app,一些系统app的功能也可以被调用
- Java API Framework:提供成熟的api,开发app时最多用到的
- 原生C/C++和Android Runtime:可以用Android NDK访问,提供音视频编码、安全、质量、体验等功能
- 硬件抽象层(HAL):提供硬件组件的封装,包括相机、传感器、蓝牙等,框架API要访问时,Android提供接口
- Linux内核:Android平台的基础是Linux内核
App安装包(APK)构成
- AndroidManifest.xml:生命app中四大组件,以及权限等
- classes.dex:所有编写的java、
- res文件夹:资源文件夹,包括图片、颜色、字符串,以及搭建的XML布局文件
- META-INF文件夹:存在签名和证书,用于校验和安全
- lib文件夹:主要是存放C/C++代码编译成的so文件
Android开发工具
IDE:Android Studio
版本管理/多人协作:Git