240 发简信
IP属地:贵州
  • 120
    从Cronet 看Http3和QUIC(一)(上)

    前言 前一段时间,在公司内部进行了一次QUIC协议的演讲。当时因为时间有限,没有仔细的讨论Cronet 的源码细节,仅仅只是介绍了QUIC的协议细节。本文就从Cronet源码...

  • 120
    OkHttp3源码解析(二)——网络连接的管理(多路复用,连接池)

    目录 一、提出问题 1.OkHttp底层也是通过Socket发送和接收请求,是如何支持http/https请求的?2.连接池的实现原理,如何支持多路复用?怎样从连接池选择复用...

  • 耳目一新的分析。

    Glide 4.9 源码分析(一) —— 一次完整加载流程

    前言 若想把握 Glide 图片加载的精髓, 首先要理清 Glide 图片加载的一次流程 好的, 可以看到 Glide 的使用方式极为简单, 但往往越是简单的背后, 越是隐藏...

  • 120
    AOP学习总结-利用APT仿写ButterKnife

    在应用 AOP 之前,应该思考几个问题: 明确你应用 AOP 在什么项目 小范围试用,选择一个侵入性小的 AOP 方法 明确切入点的相似性 考虑切入点的数量和相似性,确定你是...

  • 120
    魔法页面json生成页面 详细格式说明

    前言 旨在使用定制化Json内容,快速生成客户端界面,并带一定的业务逻辑, 第一个迭代选取最常用的基础组件,及容器类组件,以求能达到快速生成展示类页面;并在后面迭代快速增加类...

  • 一种我认为比较好的MVP写法封装,你值得拥有

    EasyMvp 一个简单强大且灵活的MVP框架。项目地址:EasyMvp 特点 一个 Activity 可以绑定多个 Presenter,以达到最大的复用功能。 采用注解的方...

  • 写的太好了 非常清晰

    OkHttp 3.7源码分析(二)——拦截器&一个实际网络请求的实现

    OkHttp3.7源码分析文章列表如下: OkHttp源码分析——整体架构 OkHttp源码分析——拦截器 OkHttp源码分析——任务队列 OkHttp源码分析——缓存策略...

  • 是AMNative的成员变量没错的 文章上写成AMProxy了

    3分钟看懂Activity启动流程

    背景介绍 从事开发到了一定阶段,想要提高就必须搞明白系统的一些工作原理。为什么?因为只有明白了这些,你才能针对平台的特性写出优质的代码。当遇到棘手的问题时,你才能更快速的结合...

  • 主要在 静态的引用变量instance本身也是gcroot的一员

    Android开发从GC root分析内存泄漏

    我们常说的垃圾回收机制中会提到GC Roots这个词,也就是Java虚拟机中所有引用的根对象。我们都知道,垃圾回收器不会回收GC Roots以及那些被它们间接引用的对象。但是...

  • “应用运行过程中非动态加载的类都是通过dalvik.system.PathClassLoader的实例加载到虚拟机中的。这些类对象是GC root的一种,它们带来的静态变量永远不会被垃圾回收” 这句话是有问题的。
    静态变量指向GC堆的引用也属于GC ROOT,例子里静态变量instance 指向 AccountMananger对象的引用,所以instance 也是gcroot成员,因为静态成员变量生命周期贯穿进程始终,所以被instance 这个root成员引用的AccountMananger对象无法回收

    Android开发从GC root分析内存泄漏

    我们常说的垃圾回收机制中会提到GC Roots这个词,也就是Java虚拟机中所有引用的根对象。我们都知道,垃圾回收器不会回收GC Roots以及那些被它们间接引用的对象。但是...

  • 120
    Android面试一天一题(Day 29:内存泥潭(下))

    上一节有介绍了一些和内存相关的基础知识,这一节就讲一下怎么发现和处理内存问题。对于我们来说,最容易发现的内存问题当然是OOM(OutOfMemoryError),应用直接Cr...

  • Android面试一天一题(12 Day)

    昨天组里的同事遇到一些切换多语言的细节问题,发现在Android N版本上配置应用内多语言没有生效,正好拿出来做为一个面试题讲解一下。 面试题:如何实现应用内多语言切换? 我...