Android爱好者

生命不息 博客不止

Android PathMeasure的使用详解

Android PathMeasure的使用详解

“流水下滩非有意,白云出岫本无心。” 正文 在上一篇的Android Path的使用详解中分析了Path类的一些常用的方法,下面顺便看一下和他有关联的一个类PathMeasure,顾名思义,就是测量Path的,来先看一下注释 PathMeasure 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * Create an empty Pat...

Android Paint之MaskFilter详解

Android Paint之MaskFilter详解

“钱财如粪土,仁义值千金。” 正文 这一篇来简单分析一下Paint的setMaskFilter(MaskFilter maskfilter)方法,其中MaskFilter有两个子类,一个BlurMaskFilter一个是EmbossMaskFilter,这里先来看一下BlurMaskFilter这个类的源码 BlurMaskFilter 1 2 3 4 5 6 7 8 9 1...

Android Paint之PathEffect详解

Android Paint之PathEffect详解

“有意栽花花不发,无心插柳柳成荫。” 正文 在之前讲Android Paint的使用详解的时候,其中有一个方法setPathEffect(PathEffect effect)没有详细介绍,这篇就结合代码来介绍一下,在之前说过PathEffect共有6个子类ComposePathEffect,CornerPathEffect,DashPathEffect,DiscretePathE...

Android Paint之ColorFilter详解

Android Paint之ColorFilter详解

“近水知鱼性,近山识鸟音。” 正文 在之前讲到Android Paint的使用详解的时候,其中setColorFilter(ColorFilter filter)方法没有讲,今天就来简单的分析一下,在Android中ColorFilter共有3个子类,ColorMatrixColorFilter,LightingColorFilter,PorterDuffColorFilter,...

Android Paint之Shader渲染详解

Android Paint之Shader渲染详解

“相逢好似初相识,到老终无怨恨心。” 正文 上一篇讲到paint的一些常用方法,其中遗留了一些,这篇先讲解其中的一个Shader渲染,我们知道Shader渲染Android提供了5个子类,有BitmapShader,ComposeShader,LinearGradient,RadialGradient,SweepGradient。Shader中有一个TileMode,共有3种模式...

Android Paint的使用详解

Android Paint的使用详解

“娶妻无媒毋须恨,书中有女颜如玉。” –赵恒 正文 自定义控件具有很强的灵活性,可以根据你的想法画出各种各样的图案,在Android中如果是自定义控件的话,Paint这个类用的还是较多的,这一篇就来简单介绍Paint这个类的使用,先来看一下这个类的注释 1 2 3 4 /** * The Paint class holds the style and color infor...

Android TypedArray源码详解

Android TypedArray源码详解

“因依老宿发心初,半学修心半读书。” –王建 正文 在自定义控件的时候,如果我们想额外的添加一些属性,就会用到TypedArray这个类,那么这个类是怎么得到的,以及怎么使用的,这篇讲会详细讲解,下面是我以前自定义控件的一段代码 1 TypedArray typedArray = context.obtainStyledAttributes(attrs,R.styleable...

Android ArrayMap源码详解

Android ArrayMap源码详解

“看似寻常最奇崛,成如容易却艰辛。” –王安石 正文 分析源码之前先来介绍一下ArrayMap的存储结构,ArrayMap数据的存储不同于HashMap和SparseArray,在上一篇Android SparseArray源码详解中我们讲到SparseArray是以纯数组的形式存储的,一个数组存储的是key值一个数组存储的是value值,今天我们分析的ArrayMap和Spa...

Android SparseArray源码详解

Android SparseArray源码详解

“不要人夸好颜色,只流清气满乾坤。” –王冕 正文 在Android开发中如果使用key为Integer的HashMap,就会出现黄色警告,提示使用SparseArray,SparseArray具有比HashMap更高的内存使用效率,我们在前面的Android HashMap源码详解中提到,HashMap的存储方式是数组加链表,今天要分析的SparseArray是使用纯数组的形...

Android LruCache源码详解

缓存类LruCache的原理分析

“梅须逊雪三分白,雪却输梅一段香。” –卢梅坡 之前的两篇我们详细分析了HashMap和LinkedHashMap,就是为了讲解LruCache做铺垫的,这一篇我们来分析一下Android中常用的缓存类LruCache,我们知道Android中的优化比较多,其中就有一个关于图片缓存的问题,如果处理不好很有可能会出现ANR。在讲解之前我们最好先看一下这个类的注释,由于比较多,我只贴出...