Android源码
小风666
技术这个事情,只看态度,不看资历。
展开
-
Android源码-SparseArray
在安卓开发过程中用到Map的时候,然后key类型为Integer的话,会提示“使用SparseArray来得到更好的效率”。接下来看看,为什么SparseArray会有比HashMap更好的效率。原创 2016-03-31 14:30:18 · 295 阅读 · 0 评论 -
阅读ViewGroup源码解决SurfaceView叠加切换TouchEvent事件冲突问题
先说说故事背景吧,要开发类似微信视频聊天功能,就是两个SurfaceView叠加,然后有按钮可以切换大小屏(对方画面和自己预览画面)(两个SurfaceView层级切换,见另一篇文章),这个时候有个功能是,需要小的屏幕可以拖拽,悬停。故事背景大概是这样。本文有点长,是讲解原理的,伸手党,可能要有点耐心看完本文才有答案。描述:这是图一页面大概是这样,A和B是两个SurfaceView,点击小的画面可...原创 2018-07-11 15:40:44 · 983 阅读 · 2 评论 -
Android 下拉刷新控件XListView原理解析
在Android app开发过程中,使用下拉刷新控件的机会是非常多的,比如列表页或是首页,一般都是要下拉刷新的。在Github中下拉刷新控件有很多,但是我现在介绍的是已经停更很久的XListView,因为我觉得这个库写的简介明了,功能稳定,bug少。非常适合自己学习下拉刷新的原理。面试的时候也通常会问到某些控件的原理,所以,了解一下还是很有必要的。XListView在github中的仓库:http...原创 2018-03-15 10:59:08 · 361 阅读 · 0 评论 -
Activity生命周期
Activity里面具体的生命周期就不介绍了,直接看官方文档比哪里都详细。这里介绍一下ActivityA点击进入ActivityB过程中,两者的生命周期。ActivityA开启后: ActivityA-onCreate() ActivityA-onStart() ActivityA-onResume()这一步以后ActivityA处于前台显示阶段。 点击按钮,启动ActivityB: Ac原创 2016-02-24 14:49:42 · 300 阅读 · 0 评论 -
Android源码-Volley
前段时间去面试,发现现在的公司还是挺看重对于底层的理解,一般会问下对于HTTP的理解,这里就介绍一下Google官方出的一个HTTP框架volley。 volley的使用网上有很多,比如说http://blog.csdn.net/fenghai22/article/details/44061307VolleyRequestQueue mRequest = Volley.newRequestQue原创 2016-04-05 17:39:59 · 397 阅读 · 0 评论 -
Glide 图片生命周期
Glide 图片生命周期这个主题本来想最先讲的,因为它在源码的最前面,但是觉得还是要对整体有理解之后再看这个,帮助会更大。Glide有一个显著的特点,就是图片加载与否,会根据依赖的容器的生命周期来变化。还是一样的,先提出几个问题,Glide是如何根据Activity或Fragment的生命周期来控制它的生命周期呢?这样控制有什么好处?原创 2017-03-30 10:51:13 · 900 阅读 · 2 评论 -
Glide解析-cache
上一篇博客"Glide解析-概述"中介绍了Glide的整体框架,有了整体认识之后,我们再来各个击破,今天介绍的是Glide关于cache的处理。首先我们要带着疑问去看源码,图片是如何做到复用的?图片缓存一共有几级?分别是哪几级?图片是何时被缓存,又是何时被加载的?原创 2017-03-16 21:24:54 · 4314 阅读 · 1 评论 -
Glide解析-概述
说起Glide,安卓开发应该都知道,这是一个比较屌的图片加载库,到底它屌在哪里呢?图片加载根据生命周期控制,多级缓存,多类型图片加载,网络请求库自由切换,内存消耗较小,这些都是它的优点,那就先来聊聊它的整体框架是怎么样的。本文以及Glide系列的其他文章都是基于Glide3.7.0版本的,在我去学习Glide的时候,这个版本是最新最稳定的版本,但是现在github上面已经有4.0的迹象了,应该马上就原创 2017-03-16 18:39:20 · 681 阅读 · 0 评论 -
Glide解析-图片转换过程
上一期介绍了Glide的memory cache机制架构,也就是图片从内存缓存中获取的,忽略了Glide从disk中获取缓存图片,今天我们就来讲讲Glide从disk或者网络获取图片,并且一步步转化为我们ImageView可以显示的格式。同样也会先提出一些疑问,Glide中source和result缓存策略分别是什么意思?如果是本地图片,是否也会缓存到disk?原创 2017-03-20 14:55:39 · 3090 阅读 · 0 评论 -
Android屏幕旋转四个方向准确监听
在做相机开发时,遇到一个问题,就是需要监听屏幕旋转。最简单的就是使用onConfigurationChanged()和OrientationEventListener这两种方法来实现,但是最后都遇到了问题。#1 一开始是使用onConfigurationChanged()这个回调,重新Activity里面的这个方法就可以了,简单又方便。用了之后发现,它只能监听,横屏切竖屏的情况。左横屏切...原创 2019-07-18 16:48:49 · 7523 阅读 · 4 评论