蓝天白云梦的csdn博客

潜心学习Android开发

Android源码探究:Android Native层消息机制完全解析

#前言 前文详细分析了Java层的消息循环机制的工作原理,在分析MessageQueue的过程中,我们遇到了nativePollOnce()和nativeWake()方法的调用,下面我们就深入到Native层的消息机制来看看它背后的运作原理。 #Native层的消息机制 一、NativeMessa...

2019-05-20 17:07:31

阅读数 60

评论数 0

Android源码探究:Android Java层消息机制完全解析

#概述 Android的消息机制对我们开发者来说应该是很熟悉的,其中最常见的用法就是利用Handler切换到主线程然后更新UI,消息机制的用法当然不仅仅局限于这个场景,但总的来说,消息机制解决了线程间和线程内的消息通信的问题。Android消息机制是指以Handler为上层接口,MessageQu...

2019-05-20 17:05:23

阅读数 46

评论数 0

Android源码探究:Activity启动流程完全解析

概述 本文主要内容是从源码角度进行Activity启动流程的分析。由于整个启动的过程非常长并且代码非常多,同时受限于笔者的水平,所以本文不会细致到解释每一行的代码的具体作用,只能抽取处关键部分的代码就主体流程进行分析,如有错误之处,希望批评指出。 行文脉络 由于本文会非常长,为了方便读者的理解,首...

2019-05-07 11:37:41

阅读数 50

评论数 0

浅谈Android实现圆形头像效果的几种思路和方法

前言 我们在开发的过程中,经常会遇到如下的需求:在界面上展示圆形的用户头像,其实这个需求很普遍并且实现难度也不大,网上也有很多相关的教程,那么本文主要来对几种实现思路和方法进行一次总结,方便以后需要时可以随时查阅。 两个核心方法 对于圆形头像的实现,实际上就是对长方形头像的Bitmap作某些处理,...

2019-04-24 18:54:33

阅读数 65

评论数 0

Java源码探究:ThreadLocal工作原理完全解析

#前言 ThreadLocal是一个平时Android开发中并不常见的类,正因为少接触,所以对它的了解并不多。但实际上,它对我们常用的Handler通信机制起着重要的支撑作用。ThreadLocal,顾名思义,线程封闭的变量,也即该变量的作用范围是以当前线程为单位,别的线程不能访问该变量。Thre...

2019-04-16 11:20:26

阅读数 55

评论数 0

字符串相似度比较算法:Jaro–Winkler similarity的原理及实现

前言 在前面的文章中,笔者有对编辑距离以及Levenshtein距离进行详细的说明,其实levenshtein距离是编辑距离的其中一种定义,本文所说的Jaro距离是编辑距离的另外一种定义,它也是对两个字符串的相似度进行衡量,以得出两字符串的相似程度。下面我们一起来学习这个算法的原理以及实现吧。 标...

2019-04-06 16:58:00

阅读数 202

评论数 0

经典动态规划问题:最短编辑距离算法的原理及实现

编辑距离的定义 编辑距离(Edit Distance)最常用的定义就是Levenstein距离,是由俄国科学家Vladimir Levenshtein于1965年提出的,所以编辑距离一般又称Levenshtein距离。它主要作用是测量两个字符串的差异化程度,表示字符串a至少要经过多少个操作才能转换...

2019-04-04 00:27:33

阅读数 35

评论数 0

学习、探究Java设计模式——适配器模式

#前言 在Android开发中,我们会经常遇到ListAdapter、RecyclerViewAdapter等带有Adapter字样的类,其实这里就用到了适配器模式,由于适配器模式的使用频率极高,因此这篇文章就来探究一下适配器模式及其应用场景。 #定义 适配器模式,将一个类的接口转换成客户端期望的...

2019-04-01 16:08:29

阅读数 71

评论数 0

学习、探究Java设计模式——单例模式

#前言 单例模式是一个开发者耳熟能详的设计模式,在各种书籍或者文章都会见到这个名字,它的应用场景是:当一个对象的创建开销是十分昂贵的时候;当我们希望全局范围内只对已实例化的这个对象进行操作,而不希望重复实例化这一对象的时候,我们可以使用单例模式,以达到节省资源和协调系统运作的目的。 #定义 确保...

2019-03-29 17:52:25

阅读数 27

评论数 0

JNI 入门(一):从Hello World开始

#前言 最近在学习JNI的相关知识,即Java Native Interface,它提供了若干API使得Java和C/C++的通信成为可能。我们知道,Java代码运行于Java虚拟机中,独立于某个平台,这也是Java的可移植性的优点。而C/C++代码运行于Windows或Linux平台。为了实现J...

2019-03-18 00:47:00

阅读数 29

评论数 0

Unity官方教程《Tanks》学习笔记(五)

本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial 系列其他笔记传送门 Unity官方教程《Tanks》学习笔记(一) Unity官方教程《Tanks》...

2018-02-09 16:24:20

阅读数 860

评论数 0

Unity官方教程《Tanks》学习笔记(四)

本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial 系列其他笔记传送门 Unity官方教程《Tanks》学习笔记(一) Unity官方教程《Tanks》...

2018-02-09 16:23:57

阅读数 827

评论数 0

Unity官方教程《Tanks》学习笔记(三)

本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial 系列其他笔记传送门 Unity官方教程《Tanks》学习笔记(一) Unity官方教程《Tanks》...

2018-02-09 16:23:25

阅读数 2657

评论数 0

Unity官方教程《Tanks》学习笔记(二)

本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial 系列其他笔记传送门 Unity官方教程《Tanks》学习笔记(一) Unity官方教程《Tanks》...

2018-02-09 16:22:54

阅读数 1278

评论数 0

Unity官方教程《Tanks》学习笔记(一)

本系列文章是根据官方视频教程而写下的学习笔记,原官方视频教程网址:https://unity3d.com/cn/learn/tutorials/s/tanks-tutorial 系列其他笔记传送门 Unity官方教程《Tanks》学习笔记(二) Unity官方教程《Tanks》...

2018-02-09 16:22:03

阅读数 2018

评论数 0

利用ViewPager实现3D画廊效果及其图片加载优化

前言对于ViewPager,相信大家都已经很熟悉了,在各种切换场景比如Fragment切换、选项卡的切换或者顶部轮播图片等都可以用ViewPager去实现。那么本篇文章带来ViewPager的一种实现效果:3D画廊。

2017-04-13 15:58:40

阅读数 3705

评论数 1

OkHttp3使用解析:实现下载进度的监听及其原理简析

前言本篇文章主要介绍如何利用OkHttp3实现下载进度的监听。其实下载进度的监听,在OkHttp3的官方源码中已经有了相应的实现(传送门),我们可以参考它们的实现方法,并谈谈它们的实现原理,以便我们更好地理解。

2017-02-21 18:39:34

阅读数 5770

评论数 5

RecyclerView进阶:使用ItemTouchHelper实现拖拽和侧滑删除

有时候我们可能需要实现侧滑删除的功能,比如知乎首页的侧滑删除,又或者长按Item进行拖动与其他Item进行位置的交换,但RecyclerView没有提供现成的API供我们操作,所幸SDK提供了ItemTouchHelper这样一个工具类帮助我们快速实现以上功能。不多说别的,我们来介绍一下ItemT...

2017-01-31 15:04:36

阅读数 22549

评论数 25

Android 如何保存与恢复自定义View的状态?

在上一篇文章Android状态保存与恢复流程 完全解析,笔者详细地介绍了Activity、Fragment、View等的状态保存与恢复流程,相信大家对状态的保存与恢复都有了一定熟悉。而这篇文章就着重介绍自定义View该怎样保存与恢复状态,因为每个自定义View都是不同的情况,所以我们一般需要重写V...

2017-01-20 18:40:15

阅读数 3961

评论数 4

Android状态保存与恢复流程 完全解析

前言很久没写过文章了,最近一段时间忙着各种各样的事情,难得寒假有时间便把最近所学的整理及记录下来与大家分享。本篇文章是关于Android的状态保存与恢复的源码分析。 对于一个Activity或者View来说,状态的保存与恢复是必不可少的,最常见的一种情况是切换屏幕方向了,如果由竖屏切换为横屏,那...

2017-01-18 14:08:28

阅读数 2678

评论数 0

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