![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 95
weixin_43766753
个人博客 : https://qwerhuan.gitee.io 热爱编程,热爱android,欢迎交流
展开
-
通俗易懂,android是如何管理内存的
前言很高兴遇见你~内存优化一直是 Android 开发中的一个非常重要的话题,他直接影响着我们 app 的性能表现。但这个话题涉及到的内容很广且都偏向底层,让很多开发者望而却步。同时,内存优化更加偏向于“经验知识”,需要在实际项目中去应用来学习。因而本文并不想深入到底层去讲内存优化的原理,而是着眼于宏观,聊聊 android 是如何分配和管理内存、在内存不足的时候系统会如何处理以及会对用户造成什么样的影响。Android 应用基于 JVM 语言进行开发,虽然 google 根据移动设备特点开发了自家原创 2021-03-30 11:36:29 · 700 阅读 · 0 评论 -
关于Handler同步屏障你可能不知道的问题
前言很高兴遇见你 ~关于handler的内容,基本每个android开发者都掌握了,网络中的优秀博客也非常多,我之前也写过一篇文章,读者感兴趣可以去看看:传送门。这篇文章主要讲Handler中的同步屏障问题,这也是面试的热门问题。很多读者觉得这一块的知识很偏,实战中并没有什么用处,仅仅用来面试,包括笔者。我在Handler机制一文中写到:其实同步屏障对于我们的日常使用的话其实是没有多大用处。因为设置同步屏障和创建异步Handler的方法都是标志为hide,说明谷歌不想要我们去使用他。笔者在前段时间面原创 2021-03-17 20:58:20 · 459 阅读 · 3 评论 -
Android事件分发机制五:面试官你坐啊
前言很高兴遇见你~事件分发系列文章已经到最后一篇了,先来回顾一下前面四篇,也当个目录:Android事件分发机制一:事件是如何到达activity的? : 从window机制出发分析了事件分发的整体流程,以及事件分发的真正起点Android事件分发机制二:viewGroup与view对事件的处理 : 源码分析了viewGroup和view是如何分发事件的Android事件分发机制三:事件分发工作流程 : 分析了触摸事件在控件树中的分发流程模型Android事件分发机制四:学了事件分发有什么用?原创 2021-01-26 19:43:01 · 2883 阅读 · 6 评论 -
Android事件分发机制四:学了事件分发有什么用?
“ 学了事件分发,影响我CV大法吗?”“ 影响我陪女朋友的时间”“ … ”前言Android事件分发机制已经来到第四篇了,在前三篇中:Android事件分发机制一:事件是如何到达activity的? : 从window机制出发分析了事件分发的整体流程,以及事件分发的真正起点Android事件分发机制二:viewGroup与view对事件的处理 : 源码分析了viewGroup和view是如何分发事件的Android事件分发机制三:事件分发工作流程 : 分析了触摸事件在控件树中的分发流程模.原创 2021-01-26 19:17:27 · 411 阅读 · 3 评论 -
Android事件分发机制三:事件分发工作流程
前言很高兴遇见你~本文是事件分发系列的第三篇。在前两篇文章中,Android事件分发机制一:事件是如何到达activity的? 分析了事件分发的真正起点:viewRootImpl,Activity只是其中的一个环节;Android事件分发机制二:viewGroup与view对事件的处理 源码解析了viewGroup和view是如何分发事件的。事件分发的核心内容,则为viewGroup和view对事件的分发,也就是第二篇文章。第二篇文章对源码的分析较为深入,缺乏一个更高的角度来审视事件分发流程。本文在原创 2021-01-24 16:24:51 · 461 阅读 · 0 评论 -
Android事件分发机制二:viewGroup与view对事件的处理
前言很高兴遇见你~在上一篇文章 Android事件分发机制一:事件是如何到达activity的? 中,我们讨论了触摸信息从屏幕产生到发送给具体 的view处理的整体流程,这里先来简单回顾一下:触摸信息从手机触摸屏幕时产生,通过IMS和WMS发送到viewRootImplviewRootImpl把触摸信息传递给他所管理的viewview根据自身的逻辑对事件进行分发常见的如Activity布局的顶层viewGroup为DecorView,他对事件分发方法进行了重新,会优先回调windowCall原创 2021-01-22 22:37:44 · 822 阅读 · 1 评论 -
Android事件分发机制一:事件是如何到达activity的?
事件分发,真的一定从Activity开始吗?前言很高兴遇见你~事件分发,android中一个老生常谈的话题了。基本的流程我们也都知道是从Activity开始分发,但有一个关键问题是:事件是如何到达Activity的 ?你以为我接下来要开始讲源码、系统底层了?不不不,本文不讲这些,而是着重于android框架层对于触摸机制的设计,更好地理解整一个android在框架层的事件分发,理解整体的流程是怎么回事。android的view管理是以window为单位的,每个window对应一个view树。W.原创 2021-01-16 16:34:10 · 1034 阅读 · 0 评论 -
Android全面解析之Activity生命周期
前言很高兴遇见你~ 欢迎阅读我的文章。关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的。事实上,我猜测每个android开发者接触的第一个android组件都是Activity。我们从新建第一个Activity开始,运行了代码,看到模拟机上显示了一个MainActivity标题和一行HolleWorld,从此打开Android世界的大门。本篇文章讲解的重点是Activity的生命周期,在文章的最后也会涉及Activity的设计。不原创 2020-11-08 21:32:50 · 2970 阅读 · 1 评论 -
Android之window机制token验证
前言很高兴遇见你~ 欢迎阅读我的文章这篇文章讲解关于window token的问题,同时也是Context机制和Window机制这两篇文章的一个补充。如果你对Android的Window机制和Context机制目前位了解过,强烈建议你先阅读前面两篇文章,可以帮助理解整个源码的解析过程以及对token的理解。同时文章涉及到Activty启动流程源码,读者可先阅读Activity启动流程这篇文章。文章涉及到这些方面的内容默认读者已经阅读且了解,不会对这方面的内容过多阐述,如果遇到一些内容不理解,可以找到对应原创 2020-10-13 20:46:55 · 7664 阅读 · 14 评论 -
Android全面解析之Context机制
前言很高兴遇见你~ 欢迎阅读我的文章。在文章Android全面解析之由浅及深Handler消息机制中讨论到,Handler可以:避免我们自己去手动写 死循环和输入阻塞 来不断获取用户的输入以及避免线程直接结束,而是采用事务驱动型设计,使用Handler消息机制,让AMS可以控制整个程序的运行逻辑。这是关于android程序在设计上更加重要的一部分,不太了解的读者可以前往阅读了解一下。而当我们知道android程序的程序是通过main方法跑起来的,然后通过handler机制来控制程序的运行,那么四原创 2020-10-11 21:10:55 · 7842 阅读 · 20 评论 -
Android全面解析之由浅及深Handler消息机制
前言很高兴遇见你~ 欢迎阅读我的文章。关于Handler的博客可谓是俯拾皆是,而这也是一个老生常谈的话题,可见的他非常基础,也非常重要。但很多的博客,却很少有从入门开始介绍,这在我一开始学习的时候就直接给我讲Looper讲阻塞,非常难以理解。同时,也很少有系统地讲解关于Handler的一切,知识比较零散。我希望写一篇从入门到深入,系统地全面地讲解Handler的文章,帮助大家认识Handler。这篇文章的讲解深度循序渐进,不同程序的读者可选择对应的部分查看:第一部分是对于Handler的入门概述。原创 2020-10-08 21:17:45 · 10693 阅读 · 9 评论 -
Android全面解析之Window机制
带你认识最本质Android的window机制原创 2020-09-01 20:55:54 · 14613 阅读 · 38 评论 -
Android中ContentProvider的启动与请求源码流程详解(基于api29)
前言你好 ~我是一只修仙的猿,欢迎阅读我的文章。ContentProvider作为四大组件之一,但是使用的频率确实很少,甚至有一些读者都没用过他,真是毫无存在感的四大组件。但是既然他能作为四大组件,说明他的重要性肯定不低,只是目前来说我们使用不到。ContentProvider的作用是跨进程共享数据,他向我们屏蔽了底层的Binder操作,使得我们可以像查询本地的数据一样查询别的进程的数据,让跨进程的数据共享变得非常方便。如我们查询手机的通讯录、短信等,都是通过ContentProvider来实现的。原创 2020-08-19 21:02:06 · 6446 阅读 · 0 评论 -
Android广播Broadcast的注册与广播源码过程详解(基于api29)
作为四大组件之一,广播的地位不言而喻。而了解其源码流程,可以更好地帮助我们了解他的工作流程,进而更好地了解Broadcast这个组件。这样在开发中,就会更加有自信去写代码,出现了bug也能更快地定位与解决原创 2020-08-17 22:35:25 · 6788 阅读 · 2 评论 -
Android架构之MVC、MVP、MVVM详解
什么是架构模式?什么是android架构模式?MVC、MVP、MVVM的本质区别是什么?他们在android上的应用是怎么样的?我们该如何选择?弄清楚这几个问题,可以帮助我们更好地理解这三种架构模式,继而更好地运用它们。原创 2020-08-17 15:44:40 · 1013 阅读 · 0 评论 -
Android中Service的启动与绑定过程详解(基于api29)
前言前面我写到一个文章是关于Activity启动流程的点击链接前往。这一篇的内容是关于Service的启动和绑定的流程详解。Service和Activity一样,都是受AMS和ActivityThread的管理,所以在启动流程上两者有一些相似。不同的是Service有绑定的流程,相对比较复杂一点,结合Service的生命周期来理解,也不是很复杂。了解启动源码的好处是整个Service对于你来说已经是透明的了,我们所做的每一个操作,心里都很清楚他的背后发生了什么。这是一种自信,也是一种能力,一种区别于入门原创 2020-08-08 16:06:03 · 8009 阅读 · 0 评论 -
Activity启动流程详解(基于api28)
前言Activity作为Android四大组件之一,他的启动绝对没有那么简单。这里涉及到了系统服务进程,启动过程细节很多,这里我只展示主体流程。activity的启动流程随着版本的更替,代码细节一直在进行更改,每次都会有很大的修改,如android5.0 android8.0。我这里的版本是基于android api28,也是目前我可以查得到的最新源码了。事实上大题的流程是相同的,掌握了一个版本,其他的版本通过源码也可以很快地掌握。因为涉及到不同的进程之间的通信:系统服务进程和本地进程,在最新版本的an原创 2020-08-02 16:49:06 · 26443 阅读 · 9 评论