Java系列之装饰模式

一,写在前面     在学习装饰模式之前,建议先了解代理模式。装饰模式和代理模式的类图结构几乎一样,仅仅是使用的目的有所差异,对比学习有助于理解装饰模式的使用。     假设有一个接口Human,一个接口的实现类Man。人类Human是可以跑步的,但是不能飞。     如果想给人类加上飞翔的...

2018-09-22 17:08:40

阅读数 600

评论数 0

Java系列之代理模式

一,写在前面     在学习设计模式前,建议对设计模式的六大原则有所了解。六大原则是指导方针,设计模式则是适用于不同场景的指导方针的具体实现。在文章观察者模式中对六大原则有简单的介绍,这里不再重复阐述。     为了更好去理解代理模式的思想,下面会讲到一个现实生活中的小栗子。大部分游戏爱好者应...

2018-09-22 12:25:14

阅读数 92

评论数 0

Java系列之观察者模式

一,写在前面     学习任何设计模式前,建议先了解一波设计模式的六大设计原则。在学习了某一设计模式的用法后,再从6大原则出发去分析如此设计的好处,可以尽可能做到“知其然并知其所以然”。     Java系列的23种设计模式,都离不开6大设计原则的指导,各个模式只是使用的场景不同。核心目标都是...

2018-09-09 14:34:17

阅读数 73

评论数 0

点亮技能之Android6.0动态权限

一,写在前面     在sdk23以前,用户安装应用时必须同意开发者添加的所有权限,否则应用无法安装成功。对于开发者来说,只需要在清单文件里添加功能模块需要的权限,非常方便。对于用户来说,却是灾难性的,数据隐私完全暴露在应用面前。     于是,Google的Android团队在6.0版本推出...

2018-09-08 14:53:28

阅读数 84

评论数 0

图文浅析之Android显示原理

一,写在前面 本篇文章会以图文的方式介绍Android设备的显示原理,不会深入到源码去分析一些细节,阅读本篇文章会对显示原理有个感性的认识,以便更好的理解Android性能优化相关的原理。 二,为什么要学习Android显示原理 大家玩手机上的应用,会经常遇到卡顿的情况。作为应用层的开发者,...

2018-09-02 01:13:35

阅读数 929

评论数 1

源码解析之HashMap实现原理

目录 一,写在前面 二,栗子 三,HashMap设计思路 四,边界变量 五,put方法 六,resize方法 七,get方法 八,关于HashMap实现原理的问答题 一,写在前面 在日常开发中,HashMap因其可以存储键值对的特点经常被使用,仅仅知道如何使用HashMap是远...

2018-08-26 00:32:40

阅读数 368

评论数 2

源码解析之EventBus注册流程

一,写在前面 EventBus的使用还是比较简单的,对于框架的使用,不仅仅是知其然,更要知其所以然,还可以学到框架里一些优秀的设计理念。本篇文章将从源码角度解析EventBus的注册流程,对框架的使用可参考文章EventBus的使用。 二,EventBus构造方法 在使用EventBus订阅...

2018-08-21 00:20:14

阅读数 111

评论数 0

点亮技能之EventBus框架的使用

目录 一,写在前面 二,事件类型 三,订阅事件 四,订阅方法 五,发送事件 六,粘性事件的特点 七,注销事件 八,最后 一,写在前面        本篇文章将会介绍EventBus 3.0版本的使用,值得一提的是,阅读本片文章前需要了解Java注解相关的知识点,可参考文章Jav...

2018-08-19 14:25:03

阅读数 79

评论数 0

点亮技能之ButterKnife使用及原理

一,写在前面        这篇文章将介绍ButterKnife框架的一些基本使用,并会介绍ButterKnife的实现原理。由于ButterKnife是以注解的形式被使用,阅读本篇文章需要读者有Java注解相关的知识。对Java注解不太了解的可参考文章Java注解,文章中涉及注解的知识将不再阐...

2018-08-11 23:08:46

阅读数 819

评论数 0

点亮技能之Java注解

  一,写在前面  本篇文章,将学习Java注解相关的知识点,包括 注解的定义 注解的属性 元注解 如何使用注解 注解的提取 版本:Java注解是jdk1.5引入的技术   二,注解的定义 注解的定义,类似于Java中接口的定义,只需要在interface前面加上一个&...

2018-08-02 00:21:11

阅读数 81

评论数 0

Android属性动画之实践篇

一,写在前面       Android动画分为View动画,帧动画,属性动画。      View动画包含四种动画:ScaleAnimation,TranslateAnimation,AlphaAnimation,RotateAnimation,分别对应缩放,平移,透明度,旋转。View动画有个...

2018-05-31 00:27:36

阅读数 987

评论数 0

Android 图片的三级缓存最佳实践与解析

一,写在前面        本篇文章将从图片的缓存,图片的高效加载,异步加载图片三个点,来讲述关于缓存图片的一系列技术点。关于异步加载图片涉及使用线程池加载异步任务,对这块知识不了解可以参考文章关于Android中常用的四种线程池的介绍  Android 源码解析AsyncTask的工作原理 。...

2017-12-28 22:42:22

阅读数 690

评论数 0

IntentService与HandlerThread源码解析

一,写在前面        IntentService使用场景:需要在服务中执行耗时的任务,使用IntentService代替在Service中开启子线程。        HandlerThread:封装了Thread+Looper,但并没有封装Handler。它是一个线程,run方法中初始化了L...

2017-12-18 23:34:09

阅读数 143

评论数 0

Android 源码解析AsyncTask的工作原理

一,写在前面        1.1,AsyncTask的使用场景:开线程执行耗时的任务,并需要在主线程操作UI。值得一提的是,AsyncTask并不适用于做特别耗时的操作,特别耗时的操作可以用线程池+Handler来处理。              1.2,本篇文章着重讲述AsyncTask...

2017-12-15 21:24:01

阅读数 167

评论数 0

关于Android中常用的四种线程池的介绍

一,写在前面        线程池的好处:可以在设定固定数量的线程池,并重用线程池中的线程,避免了线程不断的创建和销毁带来的性能开销。另外,还可以定时以及间隔循环执行任务。               Android线程池有哪些:FixedThreadPool,SingleThreadPool,C...

2017-12-13 23:35:10

阅读数 490

评论数 0

Android中Looper,MessageQueue,ThreadLocal源码解析

一,写在前面        之前写过一篇关于Handler机制的文章,写得还算比较全面,本篇文章侧重以Looper,MessageQueue,ThreadLocal三者间的关系进行分析。建议在阅读本篇文章前,先阅读文章 全面解析Android之Handler机制 。针对ThreadLocal的原...

2017-12-08 01:01:22

阅读数 104

评论数 0

Android中ThreadLocal的工作原理

一,写在前面        Android中ThreadLocal有一个典型应用场景,存取主线程线程中的Looper对象,例如:在主线程中调用Loopublic class MainActivity extends Activity { private ThreadLocal mThreadLo...

2017-12-05 22:48:43

阅读数 523

评论数 0

Android ContentProvider启动流程源码解析(8.0)

一,写在前面        在文章Android 如何自定义一个ContentProvider 中,介绍了如何使用以及自定义一个ContentProvider,本篇不再介绍如何使用ContentProvider访问其他应用的数据。在阅读本篇文章前,建议先了解Activity的启动流程,可参考文章 ...

2017-12-02 00:19:55

阅读数 568

评论数 0

Android BroadcastReceiver的工作流程源码分析(8.0)

一,写在前面        本篇文章会从源码角度分析广播的工作流程,具体来说是分为两部分:广播的注册,发送广播。在阅读本篇文章前,建议先了解Activity,Service相关的工作流程。本篇文章将不再分析工作流程中的重复细节,参考文章: Android Activity的启动流程源码解析(8.0...

2017-11-28 07:22:02

阅读数 574

评论数 0

Android Service的绑定流程源码分析(8.0)

一,写在前面        为了更好的理解Service的绑定流程,建议先了解Activity和Service的启动流程,本篇文章将不再对一些重复的细节进行阐述。建议阅读前,可以参考如下两篇文章: Android Activity的启动流程源码解析(8.0)    Android Service的...

2017-11-23 00:34:04

阅读数 973

评论数 0

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