自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

joker

公众号:mxszgg

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

原创 从源码角度剖析 setContentView() 背后的机制

注:本文基于 AS 2.3,示例中的 Activity 继承自 AppcompatActivity。示例源码解析 AppCompatDelegateImplV7PhoneWindow流程一览示例日常开发中,我们在 Activity 中基本上不可避免的都会使用到 setContentView() 这行代码,而理解它背后的机制能够让我们对日常的优化有更深地理解,网上也有些许文章介绍该机制,但

2017-03-28 19:09:04 2646

原创 Layout Inspector —— Android Studio 替代 Hierarchy Viewer 的新方案

最近在研究 View 窗口机制的时候想要查看一下应用的视图结构,第一印象当然是布局查看神器 —— Hierarchy Viewer 啦!然后走进 /sdk/tools/ 目录下发现曾经的 Hierarchyviewer.bat 不见了 ——而原来的是这样的 ——我们可以看到,还是少了相当多的东西的(仅 .bat 文件),那我们就试试用 DDMS 吧,打开 DDMS,然后 Window -> Open

2017-03-27 13:14:37 31831 7

原创 从实例和源码角度理解 postInvalidate() 和 invalidate() 的区别与联系

区别与联系使用情景源码解析区别与联系postInvalidate() 方法在非 UI 线程中调用,通知 UI 线程重绘。 invalidate() 方法在 UI 线程中调用,重绘当前 UI。使用情景近期在对 View 温故而知新的学习过程中,看到一个 postInvalidate() 方法,让我很好奇,这个方法与 invalidate() 方法有什么区别和联系呢?让我们假设一个场景,当前有一

2017-03-24 23:18:49 6075 15

原创 从源码角度简析 Android 消息机制

MessageQueue 源码解析 enqueueMessage()next()Looper 源码解析 prepare()loop()quit()、quitSafely()Handler 源码解析 构造方法send() 系列post() 系列dispatchMessage()流程一览Handler 最佳写法补充MessageQueue 源码解析MessageQueue

2017-03-16 17:52:24 1165 4

原创 从实例和源码角度简析 ThreadLocal

ThreadLocal 是什么ThreadLocal 的使用ThreadLocal 源码解析ThreadLocal 使用场景注:此文源码摘自 sun jdk 1.8 ThreadLocal 是什么 打开 ThreadLocal 的源码我们可以看到如下的注释:大致翻译如下:该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get

2017-03-15 15:15:16 777 1

原创 从源码角度简析 Hashtable、HashMap 和 LinkedHashMap

Hashtable 与 HashMap 不同点相同点LinkedHashMap注意:此文原文均摘自 Sun jdkHashtable 与 HashMap不同点先看类的定义——除了接口的实现是相同的,我们可以看到继承的类是不同的,我们不妨打开 Dictionary 抽象类看一下我们可以看到红色箭头指向的地方,大致翻译一下就是 —— 注意:这个类已经过时了,新的实现应该去实现 Map 接口,而不

2017-03-08 09:45:25 586

原创 从源码角度简析 LinkedList 和 ArrayList

联系与共同点不同点联系与共同点我们首先来看类的定义:ArrayList 继承自 AbstractList,而 LinkedList 是继承自 AbstractSequentialList,我们再打开 AbstractSequentialList,可以看到:可以看到,AbstractSequentialList 是继承自 AbstractList 的,那么这两个父类有什么区别呢?查看 api 文档

2017-03-04 10:01:52 554

原创 java 设计模式 —— 浅析单例模式

饿汉模式懒汉模式Double Check Lock静态内部类推荐: 静态内部类优先饿汉模式public class Singleton { private static final Singleton instance = new Singleton(); private Singleton {} public static Singleton getInstanc

2017-03-03 10:22:32 540

北邮数据挖掘讲义

关于数据挖掘的纯理论讲义。共分为四章节。不包含任何代码相关信息

2017-10-22

北邮算法课件

蛮力法、回溯法、分支限界法、分治法、减治法、贪心法、动态规划法

2017-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除