240 发简信
IP属地:四川
  • 120
    垃圾收集器以及内存分配策略

    哪些内存需要回收 当垃圾收集器对堆进行回收前, 首先要确定当前对象是否需要被回收, 所以第一步, 死亡判定, 何为死亡呢, 就是说当前这个对象没有被其他地方引用他, 他用不到...

  • Java内存区域

    JVM 在执行Java程序的时候, 会把他所管理的内存划分为若干个不同的数据区域, 有些呢,随着JVM启动便存在, 伴随程序的整个生命周期, 有些呢, 随着线程的创建而出现,...

  • HashMap, Hashtable, HashSet的区别

    首先, 我们来看,Javadoc对这三者的描述, HashMap, Hash table based implementation of the Map interface...

  • 120
    RePlugin之Activity启动流程

    前面我们了解了RePlugin插件化的基础, Hook 和 坑位在使用插件中的Activity时, 我们这样做的RePlugin.startActivity(MainActi...

  • RePlugin之Hook ClassLoader

    One Hook RePlugin 仅通过hook一个地方来改变ClassLoader的加载方式, 使得加载Class时先寻找所有插件是否有该Class, 没有之后才去执行原...

  • Android中的DexClassLoader

    Android中的ClassLoader 在Android中我们常用的ClassLoader有两种,PathClassLoader 和DexClassLoader我们来看下继...

  • RePlugin之Host启动流程

    UI进程,Persistent进程 Replugin启动时会默认启动两个进程,一个是UI进程,一个是Persistent进程(常驻进程),在IPluginManager接口中...

  • 在快过两年的今天才看到,阅恨晚

    开始使用Kotlin协程

    本文主要介绍协程的用法, 以及使用协程能带来什么好处. 另外, 也会粗略提一下协程的大致原理.本文的意义可能仅仅是让你了解一下协程, 并愿意开始使用它.如果想彻底理解协程, ...

  • 开始使用Kotlin协程

    本文主要介绍协程的用法, 以及使用协程能带来什么好处. 另外, 也会粗略提一下协程的大致原理.本文的意义可能仅仅是让你了解一下协程, 并愿意开始使用它.如果想彻底理解协程, ...

  • 120
    当Dagger2撞上ViewModel

    本文已授权 微信公众号 玉刚说 (@任玉刚)独家发布。 写在前面 过去一年多的时间里,我一直在致力于打造一个最简单,并能让普通Android开发者都能快速上手的框架,并陆续发...

  • 120
    Android 8.0 动态权限变更

    Android 8.0正式版推出也快1年了,国内的大厂们也终于开始更新自己的系统了,最新项目中用到了更新,然而由于之前并没仔细看过8.0的适配,导致有些8.0的用户并不能有效...

  • 120
    RxJava 沉思录(四):总结

    本文是 "RxJava 沉思录" 系列的最后一篇分享。本系列所有分享: RxJava 沉思录(一):你认为 RxJava 真的好用吗? RxJava 沉思录(二):空间维度 ...

  • 安卓Lifecycle+ViewModel+LiveData+Mvp+Dagger2完美搭建

    先说几个概念一,Lifecycle这个玩意是用来管理监听Actitivy生命周期的一个东西,之前我们可能会写一个生命周期的回调来做这个事情,比如在对应的生命周期中回调P层来达...

  • 120
    为什么说它对 Android 未来的发展十分重要?

    作者 / Dom Elliott, 产品经理, Google Play 由于其开放性,Android 在其前十年取得了显著的增长。有大量的设备可供选择,蓬勃发展的开发者生态系...

  • RecyclerView 性能优化 | 安卓 offer 收割基

    阿里四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 数据处理和视图加载分离 我们知道,从远端拉取数据肯定是要放在异步的,在我们拉取下来数据之后可能...