Android IME输入法启动&显示&隐藏流程梳理以及常见问题&调试技巧小结
阅读Android AOSP 12版本代码,对输入法IME整体框架模块进行学习梳理,内容包含输...
Linux 内存管理新特性 – Memory folios 解读
一、folio [ˈfoʊlioʊ] 是什么
1.1 folio 的定义
Add memory folios, a new ty...
Binder之Java 层服务过程分析
1. Framework 层的 JNI 函数封装
Framework 对常用的 JNI 函数做了封装:
n...
Linux应用开发【第六章】网络编程应用开发
6 网络编程应用开发
6.1 网络编程简介
要编写通过计算机网络通信的程序,首...
Linux Shell 脚本编程入门2——脚本自动化基础
tftp 0x60003000 uImage;tftp 0x60500000 vexpress-v2p-ca9.dtb;setenv bootargs ...
Android垃圾回收机制与分代回收策略
GC 回收机制与分代回收策略
垃圾回收(Garbage Collection,简写为 GC)可能是...
源码分析 | 布局文件加载流程
Activity 中的 setContentView
getWindow().setContentView(layoutResID)...
Android视图层源码(深入剖析Window组成)
Android中所有的视图(View)都是通过Window来呈现的,不管是Activity、Dialog还是...
添加开机自启动 Shell 脚本
很多时候,我们想在系统启动的时候干一些“私活”,这个时候,我们就可以添加开机自...
【Android】分层架构设计
Android 是一种基于 Linux 的开放源代码软件栈,主要应用于ARM平台,但不仅限...
VMWare虚拟机怎么安装Linux 操作系统?1.软件准备
想要学习Linux操作系统,就需要一个Linux系统环境。
获得Linux环境有以下几种...
Binder 多线程分析
1. Native 层多线程分析
1.1 客户端线程相关初始化
在 [Binder 程序示例之C...
Linux应用开发【第七章】摄像头V4L2编程应用开发
7 摄像头V4L2编程应用开发
7.1 V4L2简介
Video for Linux two(Video4Linux2)...
AOSP 极速上手
今天分享的内容是怎么快速上手 AOSP,主要分为以下几个步骤:
硬件要求
虚...
源码分析| Resource 加载资源
了解资源的加载过程,实现加载皮肤文件中的资源文件
资源加载
imageView 布...
Android的UI显示原理之Surface的创建
本文是Android视图层源码分析系列第二篇文章,通过上一篇文章已经了解到WindowMan...
Apk 预装详解
文章基于 Aosp Android10_r41 版本。
本文介绍如何在 Aosp 中预装已经编译好的...
Tina_Linux_内存优化_开发指南
Tina Linux 内存优化开发指南
1 概述
1.1 编写目的
介绍Tina Linux 下减少系统...
RT-Thread设计与实现:RT-Thread 概述和架构
RT-Thread 概述
RT-Thread全称是Real Time-Thread,顾名思义,它是一个嵌入式...