正交投影对于透视投影比较容易理解。正交投影把三维世界的部分投影到屏幕上。它是以这样的一种方式实现这些的,不管物体是远还是近,他们看上去的大小都是一样的,基于这个原因,这种投影...
正交投影对于透视投影比较容易理解。正交投影把三维世界的部分投影到屏幕上。它是以这样的一种方式实现这些的,不管物体是远还是近,他们看上去的大小都是一样的,基于这个原因,这种投影...
【声 明】 首先,这一系列文章均基于自己的理解和实践,可能有不对的地方,欢迎大家指正。其次,这是一个入门系列,涉及的知识也仅限于够用,深入的知识网上也有许许多多的博文供大家学...
1 临界区 1.1简介 在早期计算机系统中,只有一个任务进程在执行,并不存在资源的共享与竞争。随着技术和需求的飞速发展,单个CPU通过时间分片在一段时间内同时处理多个任务进程...
参考源码 binder.h[http://androidxref.com/kernel_3.18/xref/drivers/staging/android/uapi/bind...
前言 经过前面三篇binder驱动的初始化阐述,我大致上稍微复习一边linux内核的基础知识,也对binder的理解更加深刻。接下来我们来看看binder 的服务是怎么注册到...
前言 进入大厂已经有一段时间了,这段时间确实接触了在外面未曾接触到很多东西。而在外界津津乐道的进阶知识点(什么native hook,性能监控,插件化),在大厂内部只是常识罢...
前言 前一段时间,在公司内部进行了一次QUIC协议的演讲。当时因为时间有限,没有仔细的讨论Cronet 的源码细节,仅仅只是介绍了QUIC的协议细节。本文就从Cronet源码...
背景 如果遇到什么问题在这个地址下留言:https://www.jianshu.com/p/2f0ecf6ca08c 在Android 的底层中,编写大量的c/c++源码。但...
背景 聊完前面的红黑树算法,让我复习,学习Binder驱动的内容。Binder可以说是整个Android系统中最为常用的进程间通讯。无论是AMS,WMS,PMS,几乎所有的A...
前言 时隔4年。本文再次来聊聊Shadow 这个0 hook的插件库。目前看来,确实是腾讯这个Shadow 插件库做到0 hook api实现插件化。在腾讯内部也是广泛使用,...
前言 在阅读Android底层源码,特别是关于Linux内核的代码时候,如果对Linux内核整体上没有一定的认知,阅读起来一定很幸苦,本文就总结一下Linux内核内存管理系统...
背景 让我们继续看看Binder的初始化流程。上一篇,经过千辛万苦终于到了内核驱动中的open方法。现在到了内存映射的阶段,也是binder为什么高效的主要原因。 注意下面的...
前言 本文让我们来聊聊匿名共享内存Ashmem。Ashmem为什么会诞生?共享内存本质上还是为了方便跨进程通信,减少拷贝次数,提高性能。 遇到问题可以来本文讨论https:/...
@7bd0d89286c3我已经忘记自己写了什么了 有空我从ims出发整理个包括事件包装过程的新分析吧
深入理解事件分发 ViewGroup.mFirstTouchTarget的设计在ViewGroup事件派分过程中,mFirstTouchTarget起着相当重要的作用。 但对mFirstTouchTarget的作用是什么,大多数的文章都简单的描述为记录...
【声 明】 首先,这一系列文章均基于自己的理解和实践,可能有不对的地方,欢迎大家指正。其次,这是一个入门系列,涉及的知识也仅限于够用,深入的知识网上也有许许多多的博文供大家学...
很好,很有用,而且成套,很有参考价值
【Android 音视频开发打怪升级:音视频硬解码篇】一、音视频基础知识开篇 炙手可热,望而生畏的音视频开发 时至今日,短视频App可谓是如日中天,一片兴兴向荣。随着短视频的兴起,音视频开发也越来越受到重视,但是由于音视频开发涉及知识面比较广,入...