WeeklyBlog 项目第二期文章合集,本期流程更加规范,审阅时间延长,保证每篇文章都是高质量。

本期内容也较为丰富,有 Android 的基础知识、源码分析,也有解决实际开发中的问题的内容,还有一些独立开发者的内容,同时还有 Python 老司机的技术分享以及设计模式系列的开篇之作。

源码分析
  • HashMap 源码分析 (@allenwu)

    深入 HashMap 源码,讲解 JDK 1.7 和 JDK 1.8 HashMap 不同的实现,同时介绍了 hashCode() 方法的具体作用,以及涉及的相关数据结构的分析,一些关键点均给出了详细解释。

  • SparseArray 的使用及实现原理 (@Joe)

    源码角度深入分析 SparseArray 的实现原理,并分析了其与 HashMap 相比较的优缺点,每个关键过程都配上具体的图来讲解原理,十分细致。其博客上的源码系列文章都很赞。

Python
设计模式
  • 设计模式实践系列(一) (@brucezz)

    设计模式实践系列的第一篇文章,以一个模拟实际的小场景来讲解设计模式,结合例子理解设计模式,将本来空洞的理论讲解的生动有趣。

Android
  • View 的事件分发机制(Android 开发艺术探索读书笔记)(@yongyu0102)

    本文先从文字描述上让读者了解到事件分发的概念,先有个感性认识,再结合源码进行事件分发机制的分析,对源码关键的地方均添加了详细的说明,帮助读者理解,让阅读源码变得不再那么可怕。

  • RecyclerView完美实现拖拽、滑动删除以及撤销删除 (@hymane)

    本文司机从自己实际开发中出发,使用 ItemTouchHelper 工具类完美实现拖拽、滑动删除以及撤销删除等操作,整个过程都有详细的代码给出,并加以说明,对于有这方面需求的开发者来说值得一看。

  • 从注册Google Play开发者到如何使用Google LVL验证服务 (@Melodyxxx)

    本文司机 Melodyxxx 是一名大三的独立开发者,其开发的 Pure 天气在国内市场获得大量好评,最近上线 Google Play,从自己这次上架经历中总结了一篇完整详细的教程,从如何注册 Google Play 开发者到在项目中实现 LVL 验证均做了详细说明,很棒的经历!

  • 框架源码 — 可能会有趣一点地简析学习 Retrofit  (@谢三弟)

    谢三弟文辞幽默地从源码角度分析了 Retrofit 是如何将接口转换为网络请求,并分析出到底是哪里进行网络请求,源码中关键点都添加了详细的说明,对于使用 Retrofit 但是不知道其原理的开发者,本文是一篇不错的学习文章。

  • Android 中不得不谈的 setContentView (@Melo)

    对于 Android 开发者而言,setContentView 再熟悉不过了,但是真的熟悉么?Melo 司机从 setContentView() 方法出发,步步深入,一点点挖掘到源码深处,同时以实际项目验证了探究的结果,并给出自己的分析。在这里还推荐下该站点其他的文章,都有着很高的质量。

  • BottomPopUpDialog底部弹出框的实现 (@shadow)

    本文从实际开发中遇到的问题出发,具体从底部弹出框实现的初期分析到实际开发中遇到的一些问题,以及其中的一些小细节,并抽成一个组件,提供必要的 api 来满足使用者的需求,后期可以考虑加上多样化的样式以及更多的自定义属性的支持。

  • 热修复入门:Android 中的 ClassLoader (@写代码的猴子)

    本文从比较常用的热修复基本原理——ClassLoader 方式入手,讲解了 Android 中 ClassLoader 机制,以及其与 JVM 中的 ClassLoader的差别,从源码分析了 Android 中几种 ClassLoader 的实现,并通过一个简单的实践示例验证前面提到的理论知识。