加载中
greenRobot的EventBus

在编程过程中,当我们想通知其他组件某些事情发生时,我们通常使用观察者模式,正式因为观察者模式非常常见,所以在jdk1.5中已经帮助我们实现了观察者模式,我们只需要简单的继承一些类就可以...

2014/12/26 17:12
38
Git

tag: 查询: git tag //显示当前的标签 git tag -l v1.4.*  //显示以v1.4.开头的标签 创建: 可以创建不带注释和带注释的两种标签。 “在git中有两种最主要的标签--轻量级标签(light...

2014/12/26 16:26
8
Unicode 与 UTF-8 编码对应规则

holder Unicode和BigEndianUnicode 区别 这两者只是存储顺序不同,如"A"的unicode编码为65 00 ,BigEndianUnicode编码为00 65 UTF-8 注:UTF(UCS Transformation Format):UCS只是规则的如...

2014/12/11 20:51
22
DiskLruCache part 2

1, LRU: 首先看一下DiskLruCache 的 LRU 体现在哪里: 在DiskLruCache里有一个lruEntries 变量作为Entry容器,它的类型是使用了双向链表的 LinkedHashMap<..>, 并且构造时第三个参数设置为t...

2014/11/18 20:15
51
DiskLruCache part 1

首先看缓存单元Entry 和 entry的管理器editor的定义: Entry: 即缓存项, 可以有valueCount个 value, 每个value是一个文件,文件名是[key].[index] , index的值从0到 valueCount . 每个ent...

2014/11/18 19:06
28
Event Bus 之 Otto(三)

register 过程: register 接受一个Object实例作为参数,然后把该实例的producer和subscriber方法扫描出来。 从代码注释可知, 如果你在订阅一个事件类型时, 这个类型已经注册了producer, ...

2014/11/17 20:07
33
Event Bus 之 Otto(二)

subscriber和producer的扫描: 对于一个对象,如果它能产生或处理某一类型的事件,则需要将其记录起来,Otto通过HandlerFinder工具类识别这种对象。 首先看HandlerFinder接口: interface H...

2014/11/17 19:57
19
Event Bus 之 Otto(一)

Otto是Event Bus 模式的一种实现, 使用它可以使事件的发送与处理解耦, 为了坚挺某个事件不必再去实现相应的接口, 只需简单的加标注、注册就可以实现。 标注: 首先来看两种标注: subscr...

2014/11/17 19:20
35
reflection 相关

Class: public Class<?> getComponentType () Returns a Class object which represents the component type if this class represents an array type. Returns null if this class does n...

2014/11/17 18:32
11
StaggeredGridView 实现分析-首次填充过程(二)

1, 上篇分析到了第一个view成功加入listView, 在步骤3中,我们从 itemPos++ 开始,分析第二个view如何出现。       while ((nextTop < end || hasSpaceDown()) && pos < m...

2014/11/14 14:29
29
StaggeredGridView 实现分析--首次填充过程(一)续

4.2 getChildColumn 和 setPositionColumn : mPostionData 是一个SparseArray , 记录了每个 item 对应的 GridItemRecord对象, //StaggeredGridView.java private int getChildColumn(fi...

2014/11/14 13:23
33
StaggeredGridView 实现分析--首次填充过程(一)

ExtendableListView.java 1, 因为是首次layout, changed为true, childCount是 0, //ExtendableListView.java /**      * {@inheritDoc}      */     @Override     p...

2014/11/13 21:17
48
sparseArray里的binarySearch

如源码所说,这个版本和java.util.Arrays.java里的实现一样,只是省略了参数检查。二分查找大家大学都接触过,应该印象都比较深刻,这里只说一点即最后没找到时的返回值~lo。如方法的doc所说,...

2014/11/12 19:34
22
listview、ViewPager tips

1,listView的childView 与adapter 中数据项的对应关系 listView.getChildCount() 包含了headerView、footerView 以及 cellView, 而 Adapter 的 getItemCount() 只包含数据项(对应cellVie...

2014/11/12 18:38
44
StaggeredGridView 实现分析--滑动处理(二)计算、移动、回收,以及填充

moveTheChildren: moveTheChildren 首先根据 incrementalDeltaY 计算滑动后有哪些child变为不可见状态,然后将这些child view 加入recycleBin,然后detach掉,并将剩余的child view挪动到新...

2014/11/12 16:32
32
StaggeredGridView 实现分析--滑动处理(一)滑动位移

StaggeredGridView继承自ExtendableListView,同时ExtendableListView直接继承了AbsListView, 也就说它自己完成了item view的创建、销毁、更新、回收复用等环节。 ExtendableListView主要完...

2014/11/12 15:41
54
android.widget.Scroller 的使用

scroller Scroller scroller = new Scroller(getApplicationContext()); scroller.startScroll(0, 0, 100, 100, 500); while (!scroller.isFinished()) {     Log.d("scroller...

2014/11/07 16:39
22
xml生成view时layout参数失效问题解决

在ViewGroup的默认addView 方法中, 如果发现 v 没有layout参数,则生成一个默认的layoutParams, 这个参数的layout默认是wrap_content的, 所以有时候我们在xml顶层元素写的 match_parent不...

2014/11/07 10:49
33
Thread的中断

1,如果线程t通过Object的wait、或者线程的join 、sleep方法被阻塞, 那么当你(在当前线程中)对t发送t.interrupt 消息时, t的中断为被清除,同时t将收到 InterruptedException 异常。 2,...

2014/11/05 20:01
13
fragment 出栈过程

当我们点击了返回键,首先收到消息的还是activity,如果回退栈有fragment,则有fragment manager处理, 否则调用finish(): //in class Activity /**      * Called when the act...

2014/11/04 20:17
56

没有更多内容

加载失败,请刷新页面

下一页

返回顶部
顶部