
Android 源码分析
文章平均质量分 90
心灵行者
这个作者很懒,什么都没留下…
展开
-
ViewModel是怎么工作的
为什么我们可以通过ViewModelProvider获取对应的ViewModel对象,还有为什么不能new一个。同时为什么ViewModel不会因为Activity和Fragment的重建,配置改变(如屏幕旋转)等,依然能够维持内部的数据。按照官方的说法就是,ViewModel是一个类,负责为Activity和Fragment准备和管理数据的。它还可以处理Activity和Fragment与应用程序其余部分的通信。原创 2022-05-06 11:13:12 · 1928 阅读 · 0 评论 -
Android中的View是如何渲染的?
Android中的View是怎么渲染的?原创 2022-04-11 16:05:41 · 3938 阅读 · 0 评论 -
Activity,Window与View三者之间的关系如何?
Activity与View,Window三者之间是什么关系?DecorView,ViewRootImpl又是什么关系?WindowManagImpl存在了为什么又有WindowManagerGlobal类?原创 2022-03-02 11:30:43 · 1738 阅读 · 0 评论 -
Activity中setContentView()方法是怎么将页面加载出来的?
Activity#setContentView方法是怎么加载布局文件的呢?为什么onResume()方法回调,页面才由不可见状态变为可见?原创 2022-02-25 15:40:35 · 3815 阅读 · 1 评论 -
LeakCanary源码解析之检测篇
源码分析基于:1.6.3对于Android开发者而言,内存泄漏是一种很常见的问题。LeakCanary就是捕获内存泄漏的一把利器。我们在这里就分析一下它的工作原理。一、使用方法使用方法就是我们在Application中添加代码:if (LeakCanary.isInAnalyzerProcess(this)) { // This process is dedicated to LeakCanary for heap analysis. .原创 2020-05-10 16:29:40 · 412 阅读 · 0 评论 -
OkHttp3源码之我见
源码分析基于:OkHttp3.14.7进行。对于Android开发者而言,网络请求不可避免。我们使用的最多的就是Square的OkHttp3框架。关于这个框架使用的时间很长,正好前一段时间有点时间,就利用业余时间仔细阅读了该框架的源码,现在就把阅读过程中自己的感悟写下来分享给大家。一、使用场景:对于OkHttp3有两种网络请求的方式,一种是同步请求的方式;一种就是异步请求的方式。1...原创 2020-04-06 21:40:31 · 1295 阅读 · 0 评论 -
Android中消息机制分析
本文中的源码基于Android 29;一、概述对于Android开发者而言,我们处理异步消息用的最多的也是轻车熟路的一种方式,就是使用Handler进行消息的分发和处理。但是我们在一个页面(Activity 或者 Fragment)中可以直接使用Handler进行消息的分发和处理。实例如下:private Handler mHandler = new Handler(new Hand...原创 2020-03-08 22:49:19 · 840 阅读 · 0 评论 -
WindowManager源码解析(一)
源码_API:26通俗的说WindowManager就是用于Apps与窗口管理器对话的接口。一、获取对象:方法1:(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);方法2:((Activity) context).getWindowManager();二、参数配置:关于参数配置主要就是两个类:原创 2018-01-05 15:43:12 · 1044 阅读 · 0 评论 -
应用内窗口的使用(二)
如果你只是简单的实现应用内的窗口,实现的思路很多,有一个现成的思路就是使用PopupWindow.但是我们今天并不使用PopupWindow,我们使用WindowManager来创建一个窗口。如果不了解WindowManager,建议先去阅读一下我的上一篇文章:WindowManager源码解析。我们创建应用内的窗口是不需要弹窗权限的,也就是说我们不需要在注册清单中使用:权限。 一原创 2018-01-09 10:14:16 · 579 阅读 · 1 评论