排序:
默认
按更新时间
按访问量

Android Architecture Components应用架构组件源码详解(基于1.0以上)(第二篇ViewModel和LiveData)

熟悉mvp模式的小伙伴应该都清楚,m->Model,v->View,p->presenter, p层调用model层的业务处理,将结果通过接口返回给View层,而此处所介绍的ViewModel用法有点类似与p层,只不过你要把业务处理...

2017-11-29 14:56:13

阅读数:2324

评论数:1

android5.0协调布局CoordinatorLayout(第三篇BottomSheetBehavior源码详解)

在开始看源码之前,咱们先来重温一下RecycleView是怎么将触摸事件传到CoordinatorLayout问它消不消耗事件的!根据事件的分发机制是从Activity的(dispatchTouchEvent)事件开始传入给PhoneWindow的DecorView的(dispatchTouchE...

2018-09-14 16:38:50

阅读数:27

评论数:0

面试之为什么Handler会存在内存泄露

这两天面试被问到Handler的通信机制,这个问题还是很好回答的,Handler负责发送消息和在handleMessage方法中处理消息,它将消息发送给给消息队列MessageQueue,然后Loop不断从消息队列中取出消息调用handler的dispatchMessage方法,最后调用handl...

2018-08-29 22:43:18

阅读数:137

评论数:0

WorkManager用法详解

WorkManager是什么?它是谷歌提供的Architecture Components 架构组件的库中的其中一个库,WorkManager有什么用?官方解释如下: Note: WorkManager is intended for tasks that require a guarantee...

2018-07-31 17:59:58

阅读数:155

评论数:0

适配android P

android的P到来,真是让我们这群开发android的程序员蛋疼了不少,因为它加入了不少限制,尤其是非SDK api使用的限制,妈的以后非sdk的api调用直接给你抛异常奥,听起来是不是很兴奋。很想说适配个屁啊,哈哈确实是适配个P官方适配文档下面来看一下保存非sdk有哪些后果吧,这里引用官方文...

2018-06-23 15:40:49

阅读数:531

评论数:0

android的Bitmap缓存策略全面剖析第二篇(之Glide缓存策略)

上一篇咱们讲了ImageLoader的缓存策略,那么Glide的缓存策略相较于ImageLoader缓存有什么优势吗?它们之间有什么样的差别,或者说性能方面,那一个更好,注意咱们这里所介绍的缓存是不包括sd卡存储的。先来看一看Glide用了哪些缓存策略模式,如下:是不是少了点,没错和缓存有关的就这...

2018-06-14 13:32:15

阅读数:129

评论数:0

android的Bitmap缓存策略全面剖析第一篇(之ImageLoader缓存策略)

小伙伴们都知道,做一个app是少不了和图片打交道的,而不管是jpg还是png格式的图片,android的显示的时候最终都是将它们变换为Bitmap显示的,而Bitmap占用内存巨大,打个比方假如是ARGB_8888格式的Bitmap的话,每像素占用四个字节,占用的内存总共大小就是4*width*h...

2018-06-13 15:40:29

阅读数:99

评论数:0

android的组件化详解(CC框架源码剖析)

说到组件化开发,咱们先聊聊三个问题。第一个问题:什么是组件化?组件化这三个字顾名思义就是将一个项目拆成多个项目,也就是说一个项目由多个组件组成,就比如一辆汽车,你可以把它拆分成发动机、底盘、车身和电气设备等四个模块;又比如一架飞机你可以把它拆分成机身、动力装置、机翼、尾翼、起落装置、操纵系统和机载...

2018-04-14 16:04:00

阅读数:1161

评论数:0

组件化开发之路由器模块详解(ActivityRouter源码详解)

    路由器的作用是什么?通俗的讲,路由器的作用就是一根网线满足多人上网的需求。而在开发中路由器模块的作用就是实现中转分发,也就是说将原来有关系的模块(有依赖的模块分开),产生一个中间的模块,让原来依赖的两个模块都去和路由模块交互,从而将原来两个有关系的模块拆分开,利如我现在在开发一个app,根...

2018-04-08 17:44:19

阅读数:270

评论数:1

在OkHttp框架基础上打造客户端可控的缓存框架,带你彻底理解OkHttp的缓存功能模块

话说okhttp已经具备强大的缓存功能,我为什么还要改造它呢?虽然okhttp的缓存功能很强大,但是缓存功能是依赖响应头而设计的,如果服务端不给你提供响应头的话,那么这个框架默认是不会保存你请求的数据的,也就是说如果我在app端显示数据,想在网络差的情况下、或网络断掉的情况下能让界面快速显示从而提...

2018-03-01 16:57:22

阅读数:150

评论数:0

从腾讯VasSonic源码剖析到webview优化的思考

提到android的webView,我想大家对它都有点恨之入骨,因为它和ios的UIWebView的性能实在差的太远了,尤其在4.4以下,加载个页面慢的要死,出现白屏时间过长、没有网络的时候加载直接给你加载出内核自带的页面等等,如果对它不管的话体验实在是太差了,作为一个优秀的程序员,这些事情是无法...

2018-02-27 11:00:43

阅读数:494

评论数:1

美团热修复Robust源码庖丁解牛(第一篇字节码插桩)

如果你想对java编译后的class文件做一些手脚的话,市面上有供你选择的asm、javassist、aspectJ(aop面向切面编程)等等,一般修改class文件的用途有你想统计一些东西,例如app崩溃日志,做为程序员应该要懒,不想写统计的代码,这个时候利用编译器改变class的方式,来选择是...

2018-01-15 15:13:24

阅读数:593

评论数:0

LightSun/android-databinding(第二篇事件绑定)源码剖析与思考

上一篇中大体的讲解了一下属性绑定的套路LightSun/android-databinding(第一篇属性绑定)源码剖析与思考,这一篇来看一下事件绑定的套路,怎么通过xml的属性配置让DataBinding自己识别是什么事件,在View层不见一句OnClick、OnTouch等等事件,确可以分隔离...

2018-01-05 15:03:41

阅读数:151

评论数:0

LightSun/android-databinding(第一篇属性绑定)源码剖析与思考

自从谷歌推出DataBinding框架之后,MVVM开发模式也在android的端慢慢的兴起,用DataBinding框架可以省去UI和数据绑定的不少功夫,通俗的讲就是少写很多代码,并且结构看起来清晰,并利于维护,就是降低耦合,反正程序员最终的道路就是解放双手提高生产力,当然最终双手解放了,生产力...

2018-01-04 16:39:39

阅读数:193

评论数:0

alibaba/Virtualview-Android(第一篇View映射生成)源码剖析和思考

在开篇之前,大家开发中应该都会有这么一种思考吧,怎么样让你的布局变成动态的?何为动态?即是在不发表新版本的前提下,让你的界面在用户看来变了,然而他们没有更新app,也许你会说可以直接h5吧,好这种方案的确可行,但是如果h5过多,那还用app开发人员干嘛,不好,是不是感觉饭碗被抢了,当然你也可以把h...

2017-12-28 16:45:53

阅读数:360

评论数:0

alibaba/android_viewtracker源码详解

最近逛逛了阿里的github发现有这么两个小框架android_viewtracker和Virtualview-Android,android_viewtracker是用来监测点击事件,比如我想统计app每个界面的控件被点击次数,从而统计出那个界面被浏览的次数多,这里只是一个借鉴,统计app最常统...

2017-12-26 13:27:35

阅读数:351

评论数:0

SVG-Android(资源替代详解)源码详解

上一篇文章讲到SVG-Android框架帮我们生成了svg.xml的渲染类来帮助我们画图,从而达到矢量图不失真的效果。如果没有看过上篇的小伙伴请先看上一篇博客SVG-Android(gradle插件生成器)源码详解,在生成好这些渲染类之后,只需要在在你的项目的Application中加入SVGLo...

2017-12-18 13:56:43

阅读数:184

评论数:0

SVG-Android(gradle插件生成器)源码详解

Google在android的5.0以后推出了支持显示svg格式的图片,svg是啥?官方解释就是不失真的图片格式,失不失真和像素密度以及图片的像素有关系,如果你自定义一个view,在onDraw方法里画图,你能看出来你所画的图片在不同手机上会产生失真吗?答案肯定是否定的,而Google就在这画图上...

2017-12-16 15:52:38

阅读数:220

评论数:0

OpenGL ES(第一篇绘制方式) 学习

OpenGL ES入门确实有点困难,以我个人感觉是这个技术中包括太多以前没有接触过的名词,以及线性数学的知识,但是好在这个技术出了很长时间了,所以这方面的书籍很多,可以辅助我们看文档。好了现在正式进入OpenGL ES的世界,本文主要讲解基本图元画法的所有方式,在OpenGL ES的世界里基本图元...

2017-12-12 15:18:02

阅读数:512

评论数:0

xLog源码详解

xLog是什么呢?看名字你也大概能猜到它是日志打印类,android的自带日志类为Log,这个框架确命名为xLog,相比是加了很多特殊的功能吧!所以说研究框架源码不只是更好的运用框架,也要通过研究学习人家源码的“”秘密“,这里的秘密我指它为好的方面,也就是优点,它的这些优点是怎么写出来的,从而把这...

2017-12-06 15:23:46

阅读数:508

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭