ulangch
码龄11年
关注
提问 私信
  • 博客:97,314
    97,314
    总访问量
  • 14
    原创
  • 1,844,815
    排名
  • 103
    粉丝
  • 3
    铁粉

个人简介:Hold my dream.

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2014-04-28
博客简介:

ulangch的博客

博客描述:
Android Framework/Kernel/Network/WiFi
查看详细资料
个人成就
  • 获得86次点赞
  • 内容获得16次评论
  • 获得436次收藏
创作历程
  • 2篇
    2019年
  • 12篇
    2018年
成就勋章
TA的专栏
  • Android Framework
    5篇
  • Android Network
    1篇
  • wpa_supplicant
    2篇
  • WiFi
    3篇
  • Linux
    4篇
  • Interview
  • Android
    2篇
  • C++
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

深入理解Android系统多用户

一、引言这篇文章以Android v28的源码为参考,介绍Android多用户的特性、使用方式和系统原理。二、初识Android多用户2.1 Android多用户简介从Android 4.0开始,Google就开始在Android上布局多用户,UserManager因此而诞生,然而此时还没有对应的Binder服务。真正支持多用户是从Android 4.2 开始,即便如此,系统中也依然存...
原创
发布博客 2019.07.05 ·
29459 阅读 ·
30 点赞 ·
4 评论 ·
125 收藏

深入理解Android系统网络架构

引言:这篇文章以WiFi举例,介绍了Android系统网络架构。其内容包含:网络链路的连接和注册、网络有效性检测和网络优选、Android系统网络防火墙和几种场景下的网络策略等,文章的最后也列举了几种常见的无法上网原因供大家参考。一. 基本结构1.1 类图1.2 WifiServiceWifiManager中公开API的具体实现,提供了WiFi打开与关闭、配置和扫描、连接和断开等方法,其...
原创
发布博客 2019.04.10 ·
15718 阅读 ·
29 点赞 ·
7 评论 ·
155 收藏

vector push_back 超过 capacity 时产生的内存拷贝问题

原创
发布博客 2018.12.27 ·
2339 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

系统应用集成 LeakCanary

本文介绍如何在系统应用中集成LeakCanary。由于很多系统应用使用gradle,且通过Android.mk来进行编译,因此无法使用类似gradle的方式添加依赖来完成对LeakCanary的集成和使用。1. 源码下载LeakCanary的源码位于 https://github.com/square/leakcanary,通过 git clone 或者 zip 的方式将源码下载到本地,源...
原创
发布博客 2018.12.12 ·
2132 阅读 ·
3 点赞 ·
2 评论 ·
4 收藏

深入理解AsyncChannel、Messenger

这篇文章主要介绍Android AsyncChannel原理及其应用实例 注:文章参考的是Andrdoid 8.0源码#
原创
发布博客 2018.08.21 ·
2378 阅读 ·
0 点赞 ·
0 评论 ·
12 收藏

Linux socket - 源码分析(一)

这篇文章主要分析socket原理和工作流程 参考kernel msm-4.4源码进程和进程间通信   进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。不同进程间,内存资源相互独立,无法直接获取和修改,因此不同进程间需要通过特殊的方式进行传递信息。   进程间通信(IPC,Interprocess ...
原创
发布博客 2018.08.15 ·
12019 阅读 ·
11 点赞 ·
1 评论 ·
61 收藏

Socket阻塞导致的system_server无法正常启动分析

这篇文章主要记录分析monkey出现的一个system server无法正常启动问题 从中可以了解如何分析strace,锁占用等内容 … 注:文章分析过程比较长,可以先参考文章末尾的问题主线图问题现象  设备跑monkey过程中system server重启,但是没有成功启动,system server被block,出现卡白米的现象。问题分析  首先看看s...
原创
发布博客 2018.06.05 ·
2769 阅读 ·
3 点赞 ·
2 评论 ·
9 收藏

BPF高阶 - 使用BPF过滤固定特征报文

这篇文章主要介绍如何使用BPF过滤固定特征报文
原创
发布博客 2018.05.30 ·
2506 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

BPF进阶 - BPF常用命令

这篇文章主要解析常用的BPF命令 参考文章:https://www.freebsd.org/cgi/man.cgi?query=bpf&sektion=4&manpath=FreeBSD | 4.7-RELEASE上篇文章 BPF初探 - Android(DhcpClient)中BPF运用实例解析 介绍了Android源码中对BPF的运用,其中配置的BPF过滤规则...
原创
发布博客 2018.05.28 ·
6204 阅读 ·
0 点赞 ·
0 评论 ·
14 收藏

BPF初探 - Android中BPF运用实例

本文主要介绍在Android中对BPF的使用及其解析,参考Android 7.1源码 注:阅读本文需要一定的网络协议基础 参考文章:https://www.freebsd.org/cgi/man.cgi?query=bpf&sektion=4&manpath=FreeBSD+4.7-RELEASE什么是BPF  伯克利包过滤器(Berkeley Pack...
原创
发布博客 2018.05.28 ·
4826 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

Wi-Fi EAP网络验证过程与Android平台拓展实例(二)

文章参考的是Android 7.1的源码 本文主要研究EAP类型网络的身份验证过程,从而简化Android平台EAP类型网络的身份验证过程。上篇文章Wi-Fi EAP网络验证过程与Android平台拓展实例(一)已经分析出IOS和Android平台在EAP类型网络认证上的差异,即提供给认证服务器的加密方法不同。那么这篇文章就通过分析Android源码来大概了解下整个认证过程。...
原创
发布博客 2018.05.24 ·
2611 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Linux fork 孤儿进程并管理孤儿进程

这篇文章主要介绍如何fork孤儿进程,同时如何巧妙将孤儿进程PID传递给父进程什么是孤儿进程  父进程创建子进程后退出,子进程会被init进程认领,因此子进程的ppid会成为init进程的pid,这样创建的子进程就叫做孤儿进程。   ...
原创
发布博客 2018.05.24 ·
1156 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Wi-Fi EAP网络验证过程与Android平台拓展实例(一)

Wi-Fi EAP网络验证过程与Android平台拓展实例本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 ...
原创
发布博客 2018.05.24 ·
4143 阅读 ·
4 点赞 ·
0 评论 ·
11 收藏

Android Network - 架构

文章参考的是Android 7.1 的源码如下图所示,主要分为三个部分: 1. WiFi,Telephony,Ethernet 链路 以WiFi为例,WifiStateMachine作为WiFi driver 和用户层之间通信的桥梁,处理用户下发的指令(如连接/断开连接/更改配置信息等)以及driver返回到framework的消息。当WiFi链路状态发生改变时,它将及时地告
原创
发布博客 2018.01.24 ·
7045 阅读 ·
1 点赞 ·
0 评论 ·
31 收藏