自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fyfcauc的专栏

Keep Sharp

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

原创 Android Scroller 源码笔记

Scroller. Android基础位移计算应用类,短小精悍,被动式模拟计算位移过程。注释里对Scroller的定位说的很清楚:该类封装了Scrolling操作,在你需要进行scroll动画的时候可以用Scroller/OverScroller来收集和产出相关的信息,Scroller会为你跟踪随着时间产生的scroll offset及新的坐标, 但是,它不会自动的把这些变化替你apply到相应的

2015-10-29 11:48:38 578

原创 Android ViewDragHelper源码笔记

ViewDragHelper, Google官方的View基础触摸位移实现类,解放了很多动作苦手,具有很大的参考价值, 官方的DrawerLayout就直接使用了ViewDragHelper来作为自己的触摸处理机制。ViewDragHelper在设计上的意义在于:将常规的对于触摸以及位移的处理单独抽出来封装为了一个类,实现了V和C的进一步分离, 其实我在之前的开发中也有类似的抽离操作,但是当然做不

2015-10-28 16:42:02 540

原创 Android View 使用自定义stateListDrawable时使用 verifyDrawable(...)

在一个需求中,需要自己维护一个drawable,并且这个drawable是一个stateListDrawable,需要根据不同的state来进行切换以及刷新UI,遇到两个小坑:1. 这个Drawable对象的setCallback要设置为对应的View.2. 要复写View的verifyDrawable(Drawable who)上面两个不满足,就算调用了drawable的se

2015-10-28 13:21:41 1818

原创 ActiveAndroid的建表跟踪

ActiveAndroid的建表跟踪: ActiveAndroid扩展过的ContentProvider在Application创建的时候就会被创建,从而回调到onCreate()函数.onCreate()中调用了ActiveAndroid.initialize(getConfiguration())ActiveAndroid的initialize(…)会进一步调用到Cache.initial

2015-10-26 13:14:22 833

原创 Android MessageQueue 源码笔记

MessageQueue:一个用于存储Looper要dispatch的Message的底层容器, 不过其功能要远远超过这个注释的描述.Message mMessages:以链表的形式来保存Messge,这里的mMessages是当前队列的第一个要dispatch的Message,后面的通过Message本身的next来进行连接interface IdleHandler:其概念是一种连带处理,在当

2015-10-19 15:22:27 498

原创 Android Looper 源码笔记

final class Looper:类注释概括的很好:这个类是用于在一个Thread内运行message loop, 一个Thread默认是没有一个message loop的, 为了创建一个,可以在thread的运行中调用prepare()来将loop创建出来(TLS), 然后调用loop()来开始对消息的处理直到loop停止大多数和message loop交互是通过handler进行的.st

2015-10-19 13:28:29 395

原创 Android HandlerThread 源码笔记

HandlerThread extends Thread:本质依然是一个Thread,只不过进行了队列化的包装,使得Handler能与其配合工作.初始化时必须指定Thread的name, 但是Priority可以使用默认的Process.THREAD_PRIORITY_DEFAULT.其run()函数的逻辑很简单:首先获取Tid就是Thread的Id.然后调用Looper.prepare().

2015-10-19 11:37:52 368

原创 Android Handler 源码笔记

Handler:interface Callback -> handleMessage(Message msg)handleMessage(Message msg): 交由子类定制自己的Message处理逻辑.dispatchMessage(Message msg):如果msg自己的callback不是null, 那么会调用handleCallback(msg), message.callbac

2015-10-19 11:19:24 648

空空如也

空空如也

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

TA关注的人

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