Android框架总结
文章平均质量分 81
红-旺永福
我的架构师之路!!
展开
-
工作方法论
工作十年了,好像作为一名老码农,思维固化了,考虑问题的方式一成不变,孰不知,这也是自身一个很大的软实力缺陷,今天领教了一位仙人的做事方法论,真是受教了! 自己做事的态度、负责肯定是没有任何问题的,实时关注自己负责模块的进展情况,有问题都会第一时间跟进处理。 任务怎么来的呢?都是领导分派下来的。 就是这个让自己一惯被认为理所应当的事情,一个完全没有注意到的细节差异,就可能让自己做事的方式产生天地之别,这是怎么回事呢?下面我们来解读一下仙人的做事方法。 ...原创 2021-10-24 13:00:11 · 499 阅读 · 1 评论 -
职业生涯规划--致敬老朋友!!!
今天约老朋友吃个饭,有段时间不见,聊了许久,感触良多,不由得又开始思考,工作的意义是什么? 当然,自己作为一个丈夫,一个爸爸,一个儿子,必须要扮演好每个角色,赚钱养家,这些都是最基本的责任。这些就是全部吗?不,如果有足够的经济能力,赚钱养家之外,我们该考虑什么呢?总不能全部是赚钱吧? 职业规划!!! 我想做一些事情,可能的话,做一些优秀的事情。 下班回来坐在车上,心里感觉好静,经常会有这种感觉,非常平静,这时候就想听听一些经典的音乐,大家和我一起来感...原创 2021-07-30 00:30:40 · 452 阅读 · 3 评论 -
架构师之路--装饰模式
介绍 装饰模式也称为包装模式,是结构型设计模式之一,其使用一种对客户端透明的方式来动态地扩展对象的功能,同时它也是继承关系的一种替代方案原创 2021-06-05 11:28:26 · 225 阅读 · 2 评论 -
架构师之路--适配器模式
目录介绍定义使用场景代码实现介绍 适配器模式在我们的开发中使用概率很高,从代码中随处可见的Adapter就可以判断出来,最早的ListView、GridView到现在最新的RecycleView都需要使用Adapter,并且在开发中遇到优化问题、出错概率较大的也基本出自Adapter,真是一个让人又爱又恨的角色。Adapter的目的就是将两个不兼容的类融合到一起,将不同的东西通过一种转换使得它们能够协作起来,例如,经常碰到要在两个没有关系的类型之间进行交互,第一个解决方案是修...原创 2021-02-28 23:48:25 · 314 阅读 · 4 评论 -
架构师之路--组合模式
目录介绍定义使用场景代码实现介绍 组合模式也称为整体模式,是结构型设计模式之一,它将一组相似的对象看作一个整体对象处理,并根据一个树状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差异,生活中比较常见的就是组织结构图,比如总公司是结构的顶点,它下面包含了深圳、上海、西安、成都分公司,还是总行政部、总财务部等等部门,而深圳、上海、西安、成都分公司又包含了自己的下属部门,这样就构成一层一层的树状结构,而总行政部、总财务部和叶子节点,和深圳、...原创 2021-02-28 21:12:59 · 133 阅读 · 0 评论 -
架构师之路--代理模式
目录介绍定义使用场景代码实现介绍 代理模式也称为委托模式,是结构型设计模式之一,其重要性不言而喻,在我们平时的实际工作中也很常见,对于我们码农来说,最常接触的就是代理上网了,连上代理服务器地址,就可以轻松畅游世界;比如哪天中午开会太忙了,午饭可以找其他帮忙打包一下,他就是你的代理;如果和谁有矛盾了,需要打官司,找一个律师,这个律师就是你的代理,这些都是代理模式的实际例子。定义 为其他对象提供一种代理以控制对该对象的访问。使用场景 当无法或者不想...原创 2021-02-28 11:47:41 · 198 阅读 · 0 评论 -
架构师之路--中介者模式
目录介绍定义使用场景代码实现介绍 中介者模式也称为调解者模式,它的名字本身就有调停者和调解者的意思,在日常生活中,我们也经常碰到类似的例子,比如A和B有纠纷,双方无法达成一致,那么这时候就需要找一个中间人来评理,或者打官司,这个中间人或者法院就是中介者。或者在我们实际开发工作中,产品、运维、开发、设计、测试都会负责自己职责内的事情,如果有一个需求的修改,各方评估时都是站在自己立场上考虑问题,几方在一起争论不休,根本无法达成一致意见,这样需求修改工作就无法往下进行,这时候由项目...原创 2021-02-11 10:47:01 · 303 阅读 · 0 评论 -
架构师之路--模板方法模式
介绍 在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,但是,某些步骤的具体实现是未知的,或者说某些步骤的实现是会随着环境的变化而变化的,例如,执行程序的流程大致如下:1、检查代码的正确性;2、链接相关的类库;3、编译相关的代码;4、执行程序。对于不同的程序设计语言,上述几个步骤的具体逻辑都是不一样的,但是,它们的执行顺序是固定的,这类问题的解决方法就是我们要讲的模板方法模式。定义 定义一个操作中的算法的框架,而将一些步骤...原创 2021-01-31 22:04:36 · 231 阅读 · 0 评论 -
架构师之路--备忘录模式
目录介绍定义使用场景代码实现介绍 备忘录模式是一种行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态,它的实现方式需要保证被保存的对象状态不能被从外部访问,目的是为了保护好被保存的对象状态的完整性以及内部实现不向外暴露。定义 在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可以将该对象恢复到原先保存的状态。使用场景 1、需要保存一个对象在某一时刻的状态或者部分状态; 2、如果用...原创 2021-01-31 21:35:00 · 167 阅读 · 1 评论 -
架构师之路--观察者模式
目录介绍定义使用场景代码实现介绍 观察者模式是一个使用率非常高的模式,它最常用的地方就是GUI系统、订阅-发布系统,因为这个模式的一个重要作用就是解耦,使得它们之间的依赖性更小,甚至作到毫无依赖,以GUI系统来说,应用的UI具有易变性,尤其是前期随着业务的改变或者产品需求的修改,应用界面也会经常发生变化,但是业务逻辑基本变化不大,此时GUI系统需要一套机制来应对这种情况,使得UI层与具体的业务逻辑解耦,观察者模式此时就派上用场了。定义 定义对象间一种一对多的依...原创 2021-01-31 21:09:13 · 426 阅读 · 0 评论 -
架构师之路--责任链模式
目录介绍定义使用场景代码实现介绍 责任链模式是行为型设计模式之一,链很形象的反映了该模式的结构,比如像我们生活中的锁链,是由一个个节点连接起来的,而且每个节点都可以被工再连接,因此,责任链模式也具有很好的灵活性。我们可以将每个节点看作一个对象,每个对象拥有自己独立的处理逻辑,从链首到链尾依次处理,直到所有节点处理完成为止。定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系,将这些对象链成一条链,并沿着这条链传递该请求,直到所有对象处...原创 2021-01-31 10:03:49 · 165 阅读 · 0 评论 -
架构师之路--分而治之,治众之道!!
写了这么久代码,今天早晨忽悠有一种感觉,自己根本不会写代码,看看码神,阿里的多隆,一个人顶一个团队,那是什么??虽然未曾亲见,但是各种信息都足以说明码神的威力,一个人搞一个项目一直运行完好,那才是真正的代码吧,对比一下真是太惭愧了,这么多年的代码,真心有几个自己都感觉写得好模块或者逻辑,好像一个都没有,完全都是字母的拼接和逻辑的堆砌,那些东西感觉连及格都不够,路还很长啊!!! 治众如治寡,分而治之!!兵圣的名言,越往后越感觉自己的薄弱,很多最基本的道理,而且是最有效的方法,但是我们实际工...原创 2021-01-29 00:15:38 · 222 阅读 · 0 评论 -
Opengl ES系列学习--glActiveTexture API使用
本节我们来看一下glDrawElementsAPI的使用,对应的代码是OpenGL\learn\src\main\java\com\opengl\learn\GlActiveTextureRender.java文件。 所有实例均有提供源码,下载地址:Opengl ES Source Code。 API中文说明:GLES2.0中文API-glActiveTextu...原创 2020-03-16 00:25:32 · 914 阅读 · 0 评论 -
Android动画全解析(三)
上一节课,我们以一个scale为例,比较完整的分析了整个动画的实现过程,但是Android动画全解析这节课还没完,我们还要继续分析一些更为复杂的动画,再一层深入了解动画的原理,github上搜一下,好东西一大堆,也有好多朋友总结下来了,我这里把他们的链接拿过来,大家也可以直接用,非常方便。 Android github上开源项目、酷炫的交互动画和视觉效果地址集合 分享在git原创 2016-11-19 17:04:27 · 744 阅读 · 0 评论 -
Android 8.0系统源码分析--开篇
好久没写博客了,在这里上班基本都加班,而且公司上不了外网,手机都不能带进办公室,所以就间断了。昨天中午没事翻老罗的CSDN博客,忽然发现老罗的《Android系统源代码情景分析 [罗升阳著]》一书的PDF电子版出来了,真是惊喜啊!!搞开发这么久,一直对老罗的博客情有独钟,确实写的非常好,讲的非常细致!最好的学习方法是什么?Read The Fuck Source Code!!赶紧下载下来...原创 2017-11-12 21:50:09 · 22182 阅读 · 12 评论 -
Android Animator动画小实战
一个小的Animator动画实践原创 2016-12-31 15:17:46 · 756 阅读 · 2 评论 -
我的架构师之路
自己对以后的职业道路的一点思考。原创 2016-12-06 15:20:51 · 1271 阅读 · 0 评论 -
Android Hook技术实践
不需要在Manifest中注册Activity,就可以启动界面,推荐大家学习这种处理问题的思路。原创 2016-12-27 16:58:53 · 3437 阅读 · 0 评论 -
Android AOP实现原理全解析
深入理解Android之AOP原创 2016-12-25 15:15:42 · 3079 阅读 · 0 评论 -
Android混合开发全解析
safe-java-js-webview-bridge混合开发框架全解析原创 2016-12-16 15:42:41 · 3276 阅读 · 0 评论 -
蓝牙文件分享源码全解析
Android bluetooth文件分享的完整过程的源码分析原创 2016-12-09 17:11:25 · 3975 阅读 · 0 评论 -
Okhttp文件上传源码分析
okhttp文件传输的源码分析原创 2016-12-09 09:57:42 · 1366 阅读 · 0 评论 -
java的反编译器
别人总结好的东西,自己用到了,拿过来分享一下转载 2016-12-07 10:15:22 · 489 阅读 · 0 评论 -
Android Beam文件分享失败问题单处理
nfc beam文件分享失败的问题单处理,有在源码中加自己的日志,查找问题的日志也提供给大家,方便查看原创 2016-11-23 10:42:39 · 4946 阅读 · 4 评论 -
Android动画全解析(四)
Android动画全解析(四),完整的分析了Animator动画实现的全过程。原创 2016-12-01 17:50:59 · 632 阅读 · 0 评论 -
Android ANR问题原因分析
自己处理ANR问题单的一点经验,希望能对大家有帮助。原创 2016-10-10 19:11:02 · 66919 阅读 · 6 评论 -
Android 8.0系统源码分析--Binder进程间通信(三)
android 8.0系统源码分析原创 2017-12-09 18:08:41 · 1904 阅读 · 0 评论 -
Android 8.0系统源码分析--Binder进程间通信(二)
Android 8.0系统源码分析--Binder进程间通信(二),按照老罗书的结构,结合8.0最新源码来分析android移动操作系统。原创 2017-12-03 12:15:34 · 2124 阅读 · 0 评论 -
Android 8.0系统源码分析--Binder进程间通信(一)
开始我们的沉淀之路,老罗的书中第二章讲的是Android HAL层的知识,而且直接自己实现了一个虚拟的freg驱动程序,后面的几节是分别从native、java层如何访问这个虚拟的驱动程序接口,我这里没有这样的环境,所以就不分析这节了,第三章的智能指针我对比8.0系统源码和老罗的书,基本修改很小,大家如果要学习的话,就直接看老罗的书吧,这也反映出一个问题,就是我们学到的知识肯定是有用的,老罗在自己原创 2017-11-24 20:44:48 · 6869 阅读 · 0 评论 -
Android多线程断点下载
断点下载,多线程任务处理,自己封装,不对的地方,请大家指正!原创 2015-08-23 17:00:16 · 885 阅读 · 0 评论 -
Android 8.0替换framework.jar和services.jar
Android一直在不断的演进,系统层实现的逻辑也不断的在变化,所以我们还是要不断的学习、跟进,否则一些技术知识就会过时。之前搞系统开发时,要验证framework中的逻辑,直接替换framework.jar,自己的博客也记录了修改方法:编译framework.jar,并验证自己的修改。 现在针对Android 8.0还使用之前的验证方式,发现不生效,原来framework编...原创 2019-09-09 23:33:46 · 7427 阅读 · 1 评论 -
Android 8.0系统源码分析--Camera RequestThread预览循环源码分析
本节我们来看一下Camera预览是如何循环的。我自己使用的Android8.0的系统源码是通过百度云盘分享的,大家可从Android 8.0系统源码分析--开篇中下载,百度云盘的下载链接和密码都有。 大家使用API2开发相机APP时都清楚,我们起预览时调用CameraCaptureSession类的setRepeatingRequest方法,该方法的实现是由CameraCap...原创 2019-06-16 15:36:19 · 6400 阅读 · 10 评论 -
Android 7.0修改PMS逻辑添加权限白名单
今天有任务安排需要实现给任何一个应用在不动态申请权限的情况下,实现权限赋予,大体知道应用权限的赋予逻辑是在PMS中,于是大概研究了下,最终的手段就是在install安装时,就把应用程序AndroidManifest中请求的权限赋予它,但是时间有限,跟踪了下应用安装的逻辑,往上走还是非常复杂,就暂且放下了。 解决方案: 在PMS的grantPermissionsLPw方法...原创 2018-09-29 19:40:54 · 3213 阅读 · 0 评论 -
Android 7.0系统源码下添加共享库
今天的任务从早上搞到现在,才算完成,本来以为比较简单,就是出一个Demo,将实际业务的逻辑封装成so库,放在系统层,对上层不暴露任何东西,中间就一层JNI调用,原本以为很简单,但是由于自己的一个坏习惯,折腾了一天。将处理过程详细记录下来,同时吸取教训,也希望能给大家带来帮助。 JNI的封装很简单,代码就不上了,在Android7.0源码目录下添加共享库的过程,也有其他网友提到...原创 2018-09-20 22:41:03 · 4798 阅读 · 0 评论 -
Android 8.0系统源码分析--Camera processCaptureResult结果回传源码分析
相机,从上到下概览一下,真是太大了,上面的APP->Framework->CameraServer->CameraHAL,HAL进程中Pipeline、接各种算法的Node、再往下的ISP、3A、Driver,真是太大了,想把它搞懂真不是个简单的事情。不过我们奔着要把它搞懂的目标,一点点的啃,弄懂一点少一点,我们的功力也在不断的前进中一步步的增强。 本节,我...原创 2019-06-16 21:20:38 · 7197 阅读 · 9 评论 -
Android 8.0系统源码分析--相机createCaptureSession创建过程源码分析
上一次我们详细分析了openCamera启动过程的源码,从CameraServer进程创建了很多对象,比如CameraDeviceClient、Camera3Device、FrameProcessorBase,而真正打开相机还是在驱动层中上电后才完成的,有时候真想把公司的系统组件和芯片组件的源码拷回来,这样就能看到完整的过程了,但是还是不敢,哈哈哈!华为手机是仿照高通,和CameraSe...原创 2018-02-25 20:53:01 · 16095 阅读 · 12 评论 -
Android 8.0系统源码分析--openCamera启动过程源码分析
今年一进公司就开始搞相机开发,一直是在搞相机应用层,不过自己的学习心一直没停,闲暇之余就研究一下相机的framework、HAL层的东西,平时工作中碰到的和自己接触到的,相机中最复杂的就是预览了,有了一些体会也不想放下,所以决定写一系列关于Android相机的博客,把自己学习到的东西记录下来。 说起Android相机的东西,从应用层的角度来看,基本就是四个重要的节点了:openCame原创 2018-01-28 17:55:05 · 14667 阅读 · 6 评论 -
Android 8.0系统源码分析--Looper、MessageQueue创建过程分析
android 8.0源码分析原创 2017-12-17 21:17:37 · 785 阅读 · 0 评论 -
Android 8.0系统源码分析--应用进程启动过程分析
Android 8.0源码分析原创 2017-12-24 13:05:00 · 2108 阅读 · 1 评论 -
Android 8.0系统源码分析--Message发送、处理过程源码分析
android 8.0源码分析--Looper、MessageQueue的消息循环原创 2017-12-23 16:41:40 · 1013 阅读 · 0 评论