夏敏的博客

一名Android程序员的技术博客

深入Java语法糖之泛型

剥去那些高大上的语法的外衣

前一阵子谷歌推的Kotlin,本质上还是Java,我对其的理解就是满满语法糖的Java,因为看了Kotlin写完的代码编译后变成java class,那些高级特性都变成了普普通通的java实现....

Android设计模式之责任链模式

一年逛一次设计模式,每次都有新感觉!

去年这时候就在写设计模式的文章了,但是没写完,有好几个没有写,现在打算继续写,争取把设计模式写完,本来这些很简单的模式我打算一篇写几个的,但是还是遵从单一职责原则,每篇文章写一个比较好. 责任...

Glide源码解析

Glide源码有很多值得学习的地方,各种设计模式用的堪比AOSP,不过也实在是有够复杂

调用方式 我们先看一下Glide的用法,相信大家都会. 精彩之处在于 功能强大,RESTful调用 不用我们处理取消问题,自绑定生命周期 不用在Application初始化 ...

图片加载框架的打造(四)-封装-完善-总结

上一章链接 简单图片加载框架的打造(三)-加载器缓存器设计 几个关键的类都设计完了,该我们封装打通的时候呢,我一直喜欢RESTful风格,况且现在是2017年代码调用还不链式不能忍. 看一下...

简单图片加载框架的打造(三)-加载器缓存器设计

上一章解分发器的设计:简单图片加载框架的打造(二)-分发器设计RequestQueue 加载器与缓存器的接口都在第一章定好了,这边只需要完成其接口.我们看一下UML图 Loader L...

简单图片加载框架的打造(二)-分发器设计RequestQueue

上一章链接:简单图片加载框架的打造(一)-框架设计 与Volley的代码一样,RequestQueue就是参考Volley设计的. RequestQueue代码设计 RequestQu...

简单图片加载框架的打造(一)-框架设计

目前市场上有很多第三方图片加载框架, 当然,以UniversalImageLoader,Picasso,Glide为代表, 这些图片加载库大大方便了我们平时使用时需要图片加载地方的代码编写,且其...

正则表达式学习

最近跟着施届同学的文章系统性的学习正则表达式,这边将常用的简单记录. 施届同学的正则表达式系列文章: 一个神奇高效的工具-正则表达式(一) 一个神奇高效的工具-正则表达式(二) 一个神奇高效的...

使用ScrollView滚动事件打造动画框架ScrollAnimationSherlock

全xml配置动画解耦

一个用来打造上述引导界面动画效果的Scroll框架, 集成进https://github.com/Jerey-Jobs/KeepGank中,作为首次启动的欢迎界面。 工程源码:http...

从几行代码看Java类加载机制

Java类加载机制从懵逼到放弃

我们先看两段代码的运行结果 public class Test1 { public static void main(String[] args) { System.out.printl...

插件化实现Android多主题功能原理剖析

终于迎来了插件化知识

前言 之前我们总结过B站的皮肤框架MagicaSakura,也点出了其不足,文章链接:来自B站的开源的MagicaSakura源码解析,该框架只能完成普通的换色需求,没有QQ,网易云音乐类似的皮...

Java并发数据结构收藏

CountDownLatch - 同步工具类 CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的...

来自B站的开源的MagicaSakura源码解析

目前看来,这只是一个多颜色的框架,而不是一个多主题框架

简介 MagicaSakura是Bilibili开源的一套主题切换框架,其功能是在不重启Activity的情况下,能够无闪屏的对程序中的控件进行更换主题颜色.之所以能做到这一点,是因为其实现方式...

NDK初步

Java调用C++与C++回调Java

环境搭建 在Android Studio上设置NDK的路径时,会自动下载NDK开发环境, 之后我们新建新工程选中 Include C++ Support 即可. 工程新建完成后,可以看到如上...

JVM学习之GC那点事儿[转]

来自腾讯QQ空间终端研发团队的GC总结

啰嗦几句 Kotlin出来了,谷歌大力推, 但是,一切没变的还是JVM, Kotlin是在JVM跑的,当然,Kotlin-native正在开发中, 不过暂时还没有什么成果, JVM大法值得好好...