240 发简信
IP属地:上海
  • 好用的Dimens生成框架

    背景 最近项目在进行UI适配 然后我们项目的适配方案是写多个dpi来实现适配然后我整天就在按计算器 我吐了这个插件适合于多dpi文件适配方案 AutoSize方案直接就...

  • 如果有遇到Transform 断点拉不上的情况 可以试一下clean噢

    Android调试Plugin

    创建Debug Configutations 点击Edit Configurations 点击Remote 修改一下名称 然后点击ok 等待Debug 然后我们的任务就创建好...

  • 120
    Android调试Plugin

    创建Debug Configutations 点击Edit Configurations 点击Remote 修改一下名称 然后点击ok 等待Debug 然后我们的任务就创建好...

  • 如果`apply plugin`时遇到id找不到 可以反编译一下jar包看一下是否为null 看一下plugin后缀名是否正确

    ASM代码插桩监控方法耗时

    前言 我们会通过ASM+Transform 代码插桩来实现方法耗时监控 另外 用到了一个比较好用的插件ASM Bytecode Outline 这样在不会写操作码的时候 也可...

  • 120
    RecyclerView预布局

    RecyclerView应该是我们使用非常频繁的一个组件 我们也有必要学习分析一下RecyclerView#onLayout工作流程 对我们日后分析优化RecyclerVie...

  • OkHttp源码流程分析(response篇)

    前言 我们之前阅读了Request的整体流程 没看过的同学可以参考OkHttp源码流程分析(request篇)[https://www.jianshu.com/p/221f2...

  • 120
    OkHttp源码流程分析(request篇)

    OkHttp现在几乎已经占据了所有网络请求 了解其内部原理可以更好的进行扩展、封装和优化我们今天分析一下OkHttp源码 因为流程比较多 所以分为两篇(请求和响应)来分析 O...

  • 如何正确中断线程?

    在线程运行的过程中 如何正确的停止线程? 是否可以使用volatile来停止线程? 使用Interrupt 对于java而言 最正确的停止线程的方式就是Interrupt,但...

  • 哈哈哈哈哈哈哈哈 我想想怎么加个图解 视频真的讲的很棒啊

    LaunchMode启动模式终结篇

    我们在最开始学习Android的时候 就老是听到四个启动模式 面试的时候也是经常被问到四种启动模式是什么 但是却很少深入的真正的了解过 直到今天看到了扔物线的视频[https...

  • LaunchMode启动模式终结篇

    我们在最开始学习Android的时候 就老是听到四个启动模式 面试的时候也是经常被问到四种启动模式是什么 但是却很少深入的真正的了解过 直到今天看到了扔物线的视频[https...

  • 120
    聊聊setContentView

    前言 setContentView应该是我们刚开始使用Android 就使用的Api了 来看一下setContentView具体实现 先看一下setContentView时序...

  • HashTable源码解析

    HashTable和HashMap 我们面试过程中 经常会被问到HashTable和HashMap的区别 我们往往都是按照网上的那一套异同诗朗诵一下 但是不看一下源码总是感觉...

  • 120
    Glide源码解析

    问题 glide是如何进行缓存的? glide是如何多线程加载图片? glide如何进行内存管理? 为何要选择glide? 如何防止内存泄漏? OOM机制? glide流程分...

  • ARouter源码解析

    前言 当我们项目变得庞大的时候 使用单模块 就会变得很臃肿 所以当我们使用组件化架构的时候 有一个需要解决的问题就是跨模块通信问题 我们可以使用阿里的ARouter或者美团的...

  • RecyclerView缓存回收源码分析

    序言 这篇文章会分析一下RecyclerView的回收机制 主要讲一下回收结构以及如何选择回收池 Recycler 我们先看一下Recycler类 这个类在缓存机制中起了非常...

  • 120
    深入卡顿优化

    前言 我们经常会遇到卡顿问题 而且卡顿问题往往很难解决与复现 非常的依赖卡顿现场 所以我们来深入分析一下卡顿优化 卡顿分析方法与工具 查看CPU性能 我们可以通过/proc/...

  • 最长重复子数组

    718. 最长重复子数组

  • 120
    深入布局优化

    前言 我们在使用App的过程中 经常会遇到一些跳转页面显示比较慢的情况 今天就深入分析一下布局优化 提高我们的布局加载速度 Activity加载布局过程 我们跟踪一下set...

  • 120
    深入内存优化

    前言 内存问题很常见 而且经常会因为内存问题引起卡顿问题 在接下来的卡顿分析中 内存也是一个很重要的方向 内存抖动 内存抖动是由频繁gc导致产生 由于内存空间的不足 回导致...

  • 120
    深入启动优化

    前言 老规矩(Show me the code) Talk is cheap[https://github.com/lyp82nlf/AndroidPerformance] ...