自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

howard_90的专栏

https://github.com/lihaocruiser

  • 博客(14)
  • 收藏
  • 关注

原创 View的Touch事件分发流程

概述View的Touch事件分发大致分为两个过程:从上向下的分发过程,调用的是dispatchTouchEvent()。从下向上的处理过程,调用的是onTouchEvent()。

2015-09-08 15:10:18 470

原创 View绘制流程简介

简单梳理一下View的绘制流程。View的绘制分为三个部分(mechanism),分别为:measure,layout,draw。

2015-09-07 10:43:19 382

翻译 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 714

原创 HashMap源码分析

概述官方文档有如下几点描述:HashMap实现了Map接口,所有类型都可以作为key、value,包括null。使用iterator遍历的顺序是不确定的,希望确定遍历顺序可以使用LinkedHashMap。HashMap不是线程安全的,如果存在多个线程同时对HashMap进行结构更改(增加/删除元素),需要显式同步。如果iterator迭代过程中发现HashMap结构被改变了,会启动fail

2015-08-28 14:31:20 333

原创 设计模式——单例Singleton

概述定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景:确保某个类有且只有一个对象的场景,例如创建一个对象需要消耗的资源过多,如要访问 IO 和数据库等资源。

2015-08-24 15:11:57 264

原创 ThreadPoolExecutor基本原理

概述ThreadPoolExecutor是Java中最基本的线程池实现,Executors类的工厂方法newFixedThreadPool()、newCachedThreadPool()、newSingleThreadPool()等,内部都是用ThreadPoolExecutor实现的。

2015-08-24 10:56:42 824

原创 AsyncTask基本原理

AsyncTask用于简化UI线程的使用,可以将工作线程的结果更新到UI线程,而不需要显式使用Thread和Handler。

2015-08-22 16:17:27 359

原创 Volley详解(五)——网络(Network)

概述本篇介绍网络相关的类,包括Network,BasicNetwork,NetworkDispatcher。

2015-08-17 10:59:06 662

原创 Volley详解(四)——缓存(Cache)

概述本篇介绍缓存相关的类,包括Cache、DiskBasedCache、CacheDispatcher。

2015-08-15 09:41:01 622

原创 Volley详解(三)——响应(Response)

概述本篇介绍响应相关的类,包括NetworkResponse,Response,ResponseDelivery,ExecutorDelivery。

2015-08-14 12:38:29 767

原创 Volley详解(二)——请求(Request)

概述本篇介绍请求相关的类,主要包括Request<T>和RequestQueue两部分。

2015-08-13 16:14:41 572

原创 Volley详解(一)——基本构架

最近一个项目用到`Volley`处理网络请求,于是借这个机会研究下源码。`Volley`是2013 Google I/O上发布的网络请求框架,适合小而频繁的网络通信,源码发布在https://android.googlesource.com/platform/frameworks/volley。

2015-08-11 21:24:59 492

原创 Handler、Looper工作原理

Handler的工作原理初始化looper初始化Handler发送消息接收消息looper阻塞UI线程的疑问Handler的工作原理多线程里经常用到Handler和Message,但原理一直不知道,今天花了一天研究了下,看博客+Android源码,算是大概弄明白了,大概工作流程如下。1.初始化looperUI线程生成的时候会自动调用Looper.prepareMainLooper()和Lo

2015-07-03 20:41:39 773

原创 自定义ListView实现下拉刷新和分页加载(效果类似知乎)

摘要:自定义了一个ListView,实现下拉刷新和分页加载。下拉刷新效果:当ListView滑到最顶端的时候,向下滑动手指,ListView并不向下滑动,而是在顶端出现一个headerBar,headerBar的宽度与手指向下滑动的距离成正比,手指滑动距离超过阈值,ListView通过接口回调,通知外部进行refresh,刷新内容,同时headerBar变为从左向右不断滑动的动

2015-06-12 17:18:50 800

空空如也

空空如也

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

TA关注的人

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