暂时未有相关云产品技术能力~
公众号:小余的自习室 10年Android开发经验,擅长Android架构设计,组件化开发,性能优化等领域
Android这个是一个**庞大的系统性**的工程,各个版本都有一定兼容性问题,为了能快速定位问题,也为了学习Android框架中一些优秀的思想,时常需要查看Android系统源码层面的知识。
本篇是Android framework的第一讲《WindowManager体系-上》,重在讲解Window在被添加到WindowManagerService前的流程。
想要深入了解Window在系统中的机制,WMS是绕不过去的坎。有句话说的好:**AMS和WMS占据了Framework层的半壁江山**,所以了解这两个概念对我们在日常开发中的性能优化或有想转Framework开发的都大有帮助。
前几天有个朋友问我“了不了解关于手机硬件加速方面的知识?”,嗯?其实我也想知道。。。
如果把WMS比作古代将军,那么这四类职责就是将军手下几元大将,而AMS作为Android整个体系的统筹者,理所当然的就是古代的皇帝。
曾经在开发的很长一段时间内,笔者对点击事件的认知只存在于自定义View中的`onTouchEvent`等方法的处理。 后来慢慢的接触到`Android的事件分发机制`,但也只是在**Activity->ViewGroup->View**层面的分发逻辑
对于目前应用开发已经饱和的大环境下,作为一个多年Android开发,逼迫我们Android开发往更深层次的framework层走,于是就有了这么个系列
你是不是经常被以下名词弄得晕头转向。**ROM/RAM/DRAM/SRAM/SDRAM/DDR SDRAM**等等,下面,我尽力以上图为参考,从上到下,说明各个层次存储器的特点和区别,并对它们的工作原理做一些简要的说明
你是不是工作了很多年了,一直没搞清楚计算机中的各种编码规则,虽然平时都会使用,但是内部机制原理一直都是之其然而不知其所以然,开发中也会经常涉及到这块内容,但都没有太多重视
注解在我们`android`开发和`java`开发中有很多作用,今天我们就来介绍下他的一种高级用法:**注解处理器**
怎么证明你是一个真正的程序员?
首先void*中的void代表一个任意的数据类型,"星号"代表一个指针,所以其就是一个任意数据类型的指针。
内存中的数据在断电之后就会消失,如果需要**持久化数据**,则需要将数据写入到文件中
C++作为一门在C和Java之间的语言,其既可以使用C语言中的高效指针,又继承了Java中的面向对象编程思想,在去年编程语言排行榜上更是首次超过Java,进入前三。
首先来说下**什么是hack**? hack字面意思“**非法入侵**”,那么在C/C++中其实就是**使用反汇编查看C/C++代码对应的汇编代码**
相信学过C++都知道指针以及引用,C++中使用指针是为了兼容C语言,而使用引用是为了更加贯彻面向对象编程思想,今天小余就来和大家聊聊关于C++中指针以及引用。
extern 是C/C++语言中**表明全局变量或者函数作用范围(可见性)的关键字**,编译器收到extern通知,则其声明的变量或者函数可以在本模块或者其他模块使用。
C++在高级领域,如性能优化,NDK,音视频,framework,ART虚拟机等都使用的它,所以学习C++对我们Android开发其实非常必要。