Ubuntu 下真机调试 Android 发表于 2017-02-10 分类于 Android 0. 前言在 Ubuntu 下进行真机调试,不再像 Windows 下面那么简单了,需要手动配置一些文件才能够拥有正确的调试姿势,本文将讲解如何最简配置 Ubuntu 真机调试。 阅读全文 »
Android LruCache 源码分析 发表于 2017-01-18 分类于 Android 0. 前言学过操作系统这门课的朋友都还记得 LRU 这个算法吧,中文名叫”最近最久未使用”,它是用在页面置换策略中的一种很巧妙的淘汰算法,而在 Android 中,也有一个缓存淘汰机制用到了它,叫做 LruCache,它也可以说是一个精妙的设计吧,这篇博文中,笔者将带领大家剖析它源码中的精妙之处… 阅读全文 »
Android 中多次设置 OnClickListener 只执行一次吗? 发表于 2017-01-06 分类于 Android 问题对于 Android 初学者,可能对这个问题会比较疑惑: 对于一个 View,比如 Button,如果为其设置多次点击监听 OnClickListener 回调方法,同时还在布局中设置了 onClick 属性,并且也实现了点击回调方法,那么问题来了,哪些回调方法会执行呢?又是以怎样的顺序执行呢?请跟随脚步和我一探究竟… 阅读全文 »
Android 相关重难点知识整理 发表于 2016-12-15 分类于 Android 集合 对 HashMap 进行排序: HashMap 本身无序,但其子类 LinkedHashMap 使用链表结构,实现了有序。通过 HashMap#entrySet() 方法可以将 Map 转为 Set<Entry> ,再在 ArrayList 的构造函数中可以传入 Collections ,正好 Set 和 List 的父类就是 Collections ,这样就可以调用 Collections.sort(list, comparator) 进行排序了。排序好后,使用 for 遍历加入 LinkedHashMap 。 阅读全文 »
Android Handler机制 源码解析 发表于 2016-08-24 分类于 Android , 源码分析 0. 前言 Handler 在 Android 开发过程可以说是必不可少的一枚棋,它保证了系统运行过程中的消息有序进行传递和处理。此文将在 Android 6.0 源码层面对 Handler 的运行机制进行简要剖析。 阅读全文 »
LayoutInflater 源码分析 发表于 2016-08-06 分类于 Android , 源码分析 0. 前言 LayoutInflater(布局填充器) 在安卓开发中,可以说是扮演着相当重要的角色,它让我们的 ListView 、 RecyclerView 等很容易变得多姿多彩,也正是它如此容易的操作,让它不由地多出了一份神秘…这篇博文将基于 Android 6.0 对 LayoutInflater 的源码进行一定分析。 阅读全文 »
EventBus 源码分析 发表于 2016-07-22 分类于 Android , 源码分析 0. 前言 EventBus 是一款针对Android优化的发布/订阅事件总线。主要功能是替代 Intent , Handler , BroadCast 在 Fragment , Activity , Service ,线程之间传递消息。优点是开销小,代码更优雅,以及将发送者和接收者解耦。此文将对最新的 EventBus 3.0 的源码进行简要的分析。 阅读全文 »
分治法之快排与随机化 发表于 2016-07-18 分类于 算法与数据结构 0. 快速排序由Tony Hoare在1962年发明,这是一个分治算法,它就在原地完成排序,类似与插入排序。优点:节约内存资源,非常实用,线性复杂度 阅读全文 »