android ContentProvider启动过程分析
ContentProvider是一个可以跨进程的组件,比如我们可以使用通讯录的ContentProvide...
Hal 层添加访问 linux 驱动的接口
写给应用开发的 Android Framework 教程是一个系列教程,目前已更新以下内容:
...
Handler的初级、中级、高级问法,你都掌握了吗?
Handler是Android中的消息处理机制,是一种线程间通信的解决方案,同时你也可...
AOSP添加配置文件与删除已有模块
本文基于 AOSP Android10_r41 源码环境。
1. 添加配置文件
PRODUCT_COPY_FI...
Android Framework知识整理:WindowManager体系(上)
前言
大家好,由于工作和面试需要,笔者结合大佬们的经验以及自身对源码理解,...
android Binder分析
讲Android Binder机制的文章非常多,这篇文章主要是理一下我对Binder的理解。本文...
如何深入掌握 Android Binder
0. 为什么要深入学习 Binder
Binder 是整个 Android 的基石
所有的系统服...
Tina_Linux_内存优化_开发指南
Tina Linux 内存优化开发指南
1 概述
1.1 编写目的
介绍Tina Linux 下减少系统...
Android | 理解 ViewRootImpl
简介
ViewRootImpl 是 View 的最高层级,是所有 View 的根。ViewRootImpl 实现...
【Android】分层架构设计
Android 是一种基于 Linux 的开放源代码软件栈,主要应用于ARM平台,但不仅限...
Linux应用开发【第八章】ALSA应用开发
8 ALSA应用开发
8.1 音频相关概念
音频信号是一种连续变化的模拟信号,但计...
Kernel 下载与编译
1. 内核下载
下载适用于模拟器的内核
git clone https://aosp.tuna.tsinghu...
源码分析 | 布局文件加载流程
Activity 中的 setContentView
getWindow().setContentView(layoutResID)...
Android 动态分区相关模块和常用工具
Android动态分区功能编译和调试用到的lpmake、lpdump、lpunpack、dmctl等命令工具...
Linux 驱动开发入门
1. 编写一个简单的 Linux 内核模块
首先,我们需要理解什么是内核模块?简单来...
Apk 预装详解
文章基于 Aosp Android10_r41 版本。
本文介绍如何在 Aosp 中预装已经编译好的...

