- 博客(14)
- 收藏
- 关注
原创 View的Touch事件分发流程
概述View的Touch事件分发大致分为两个过程:从上向下的分发过程,调用的是dispatchTouchEvent()。从下向上的处理过程,调用的是onTouchEvent()。
2015-09-08 15:10:18
521
原创 View绘制流程简介
简单梳理一下View的绘制流程。View的绘制分为三个部分(mechanism),分别为:measure,layout,draw。
2015-09-07 10:43:19
430
翻译 BLE低功耗蓝牙设备开发
概述Android API 18开始支持低功耗蓝牙设备(BLE,Bluetooth Low Energy)。BLE与以往的蓝牙设备不同,它长期处于sleep状态,只在有连接事件发生时才被唤醒,所以待机时间很长,适合用于穿戴设备等。本文参考了这篇tutorial:http://toastdroid.com/2014/09/22/android-bluetooth-low-energy-tutorial
2015-08-28 15:24:39
766
原创 HashMap源码分析
概述官方文档有如下几点描述:HashMap实现了Map接口,所有类型都可以作为key、value,包括null。使用iterator遍历的顺序是不确定的,希望确定遍历顺序可以使用LinkedHashMap。HashMap不是线程安全的,如果存在多个线程同时对HashMap进行结构更改(增加/删除元素),需要显式同步。如果iterator迭代过程中发现HashMap结构被改变了,会启动fail
2015-08-28 14:31:20
357
原创 设计模式——单例Singleton
概述定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景:确保某个类有且只有一个对象的场景,例如创建一个对象需要消耗的资源过多,如要访问 IO 和数据库等资源。
2015-08-24 15:11:57
291
原创 ThreadPoolExecutor基本原理
概述ThreadPoolExecutor是Java中最基本的线程池实现,Executors类的工厂方法newFixedThreadPool()、newCachedThreadPool()、newSingleThreadPool()等,内部都是用ThreadPoolExecutor实现的。
2015-08-24 10:56:42
869
原创 AsyncTask基本原理
AsyncTask用于简化UI线程的使用,可以将工作线程的结果更新到UI线程,而不需要显式使用Thread和Handler。
2015-08-22 16:17:27
382
原创 Volley详解(五)——网络(Network)
概述本篇介绍网络相关的类,包括Network,BasicNetwork,NetworkDispatcher。
2015-08-17 10:59:06
693
原创 Volley详解(四)——缓存(Cache)
概述本篇介绍缓存相关的类,包括Cache、DiskBasedCache、CacheDispatcher。
2015-08-15 09:41:01
680
原创 Volley详解(三)——响应(Response)
概述本篇介绍响应相关的类,包括NetworkResponse,Response,ResponseDelivery,ExecutorDelivery。
2015-08-14 12:38:29
833
原创 Volley详解(一)——基本构架
最近一个项目用到`Volley`处理网络请求,于是借这个机会研究下源码。`Volley`是2013 Google I/O上发布的网络请求框架,适合小而频繁的网络通信,源码发布在https://android.googlesource.com/platform/frameworks/volley。
2015-08-11 21:24:59
529
原创 Handler、Looper工作原理
Handler的工作原理初始化looper初始化Handler发送消息接收消息looper阻塞UI线程的疑问Handler的工作原理多线程里经常用到Handler和Message,但原理一直不知道,今天花了一天研究了下,看博客+Android源码,算是大概弄明白了,大概工作流程如下。1.初始化looperUI线程生成的时候会自动调用Looper.prepareMainLooper()和Lo
2015-07-03 20:41:39
929
原创 自定义ListView实现下拉刷新和分页加载(效果类似知乎)
摘要:自定义了一个ListView,实现下拉刷新和分页加载。下拉刷新效果:当ListView滑到最顶端的时候,向下滑动手指,ListView并不向下滑动,而是在顶端出现一个headerBar,headerBar的宽度与手指向下滑动的距离成正比,手指滑动距离超过阈值,ListView通过接口回调,通知外部进行refresh,刷新内容,同时headerBar变为从左向右不断滑动的动
2015-06-12 17:18:50
831
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人