Ricky_Ling的博客

负阴抱阳,知行合一。

从源码角度分析 — Handler原理

在分析消息机制Handler之前,我们先了解下ThreadLocal这个类,ThreadLocal是一个线程内存的数据存储类。它的作用是为变量在每个线程中存储了一个副本,反过来说就是:为使用该变量的线程提供了独立的变量副本。参考一段示例代码: private static final...

2018-04-16 21:10:59

阅读数 46

评论数 0

从源码角度分析-HashMap

文章从下面几点去分析HashMap(基于JDK1.8) HashMap的概念 工作原理 hashCode()和equals()的作用分别是什么 扩容机制 1、HashMap的概念 HashMap是基于Map接口实现,以键值对的形式存储,键值允许null值,存储是无序的,非同步的。下面提供...

2018-04-14 16:47:05

阅读数 119

评论数 0

Android Activity的启动流程分析

Android Activity的启动流程分析 在应用中我们启动一个Activity,一般情况都是通过调用startActivity()。本文也是针对这个作为入口去探索Activity的启动流程。如今google和度娘一搜Activity启动流程,可以说是泛滥成灾了。虽然这样,但始终是别人的理解...

2018-03-31 15:37:26

阅读数 118

评论数 0

Android中AsyncTask的执行过程

AsyncTask是由Android提供的一个轻量级的异步类,其内部分封装了线程池和Handler。相信绝大多数的Android开发者都接触过它,简单粗暴的就实现了异步网络请求,UI更新。在开始源码分析执行过程前,先看一张图,主要抽取了执行过程中比较关键的几个属性。 下面开始进行源码的分析,先从一...

2017-10-27 17:46:23

阅读数 617

评论数 6

Java 23种设计模式之 - 适配器模式

适配器模式分为三种:类的适配器、对象的适配器、接口的适配器。 简单的理解适配,就是把两个不相匹配的东西变的匹配。下面以手机使用普通u盘为例,一般情况下,手机需要使用u盘时,由于接口的不吻合,需要使用到OTG线进行接口转换。 1、类的适配器usb接口public interface Usb { ...

2017-10-20 23:40:45

阅读数 465

评论数 0

Android布局加载优化之懒汉模式-ViewStub

Android布局加载优化之懒汉模式-ViewStub 谈到布局优化,通常都会想到标签include和merge。简单先说下这两个标签的好处:include可以减少布局文件内容,比如,在我们需要在多个布局中都添加标题栏时,可以创建一个单独的xml文件,添加标题内容到该xml中,然后在需要用到的...

2017-09-17 15:12:37

阅读数 799

评论数 0

Android Activity启动模式分析

Android Activity启动模式分析 standard 标准启动模式 singleTop 栈顶复用模式 singleTask 栈内复用模式 singleInstance 全局单例模式 standard 标准启动模式 该模式也是Android中activity默认的启动模式,每次启动目标...

2017-09-16 10:36:14

阅读数 582

评论数 0

Android dp和px的转换

Android dp和px的转换 在android开发中,布局中一般使用dp作为单位,很多时候需要使用px,这时就需要通过代码中转换。无事记录下,说不定哪天脑子短路,忘了怎么写,还可以翻翻。(^▽^) public class DensityUtil { //d...

2017-09-01 12:17:04

阅读数 253

评论数 0

Android View的事件分发

View的事件分发机制: 分析的对象 MotionEvent: 表示点击事件, 例如Action_DOWN、Action_UP、Action_MOVE等 事件的传递过程: dispatchTouchEvent: 事件分发 (事件能否传递给当前View) onIntercep...

2017-06-17 21:58:32

阅读数 342

评论数 0

Kotlin学习之路(一)

1. kotlin的简介 随着Google I/0 2017的结束,Kotlin已经成为热搜。耐不住自己内心的寂寞,于是开始了Kotlin的“入坑之路”。Kotlin 是⼀门针对 JVM、Android、JavaScript 以及原⽣平台的开源(OSS)静态类型编程语⾔。它是由 JetBrai...

2017-06-07 15:21:51

阅读数 1081

评论数 3

RxJava2.0 初识

RxJava2.0 初识前言 RxJava现在已经是家喻户晓了,其里面的链式编写,可以帮助我们简化代码逻辑,提高代码阅读性。一直流行这么一句话,作为一个程序猿要学会“偷懒”,RxJava大大的提升了开发效率,和降低了后期的维护成本。不得不令人垂涎它的“魅力”。 于是,走上了学习Rxj...

2017-05-18 19:05:53

阅读数 810

评论数 0

Android 6.0后的权限问题

Android 6.0后权限的动态申请1、做蓝牙开发时遇到一个问题,在安卓6.0系统中运行时,发现蓝牙搜索后并没有显示任何的设备信息,然后去查了下资料,发现在6.0以后的需要添加下面两个权限。 <uses-permission android:name="android.permi...

2016-09-30 18:08:51

阅读数 685

评论数 0

Android中进程间的通信之Messenger

Android中进程间的通信之Messenger谈到android中的IPC机制,很多人都会先想到AIDL,这里要讲的是Messenger ,利用Messenger 可以简单的实现进程间的通信。通过发送消息到handler,它是基于消息的跨进程通信。 1、先写一个服务端MessageServic...

2016-09-28 15:52:01

阅读数 487

评论数 0

android 实现自由移动的悬浮按钮

android 实现自由移动的悬浮按钮实现原理 主要是通过android中的WindowManager中的addview()把view加载进来,设置WindowManager.LayoutParams windowManagerParams的相关属性,例如x,y;在view的onTouchEve...

2016-09-22 10:50:57

阅读数 6088

评论数 5

android蓝牙和串口模块的通信

android蓝牙和串口模块的通信 最近一段时间研究了下android端和蓝牙串口模块间的通信,废话不多说,直接屡一屡思路和撸代码 手机端蓝牙的搜索 和串口模块间的配对 最后就是数据的传输了 蓝牙的搜索1、通过广播方式接收蓝牙的搜索结果,注册相应的广播 IntentFilter filter =...

2016-09-21 16:52:08

阅读数 919

评论数 0

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