Volley源码解析二

NetworkDispatcher Volley源码解析一说到如果Request加入网络请求队列的情况有三种 Request不需要缓存 缓存内容已经过期 Ttl 不过期,但是softTtl 已经超出了当前的时间 那么4个NetworkDispatcher线程中的其中一个线程就会从阻塞队列取出Re...

2019-04-28 15:16:07

阅读数 12

评论数 0

Volley源码解析一

基本使用 //创建请求队列 google推荐写一个单例类 获取唯一一个队列 public class VolleyApplication extends Application { private static RequestQueue requestQueue; @Overri...

2019-04-26 14:46:47

阅读数 22

评论数 0

LinkedList源码解析

LinkedList底层的数据结构是基于双向循环链表的,既然是双向链表,那么必定存在一种数据结构——我们可以称之为节点,每个节点所对应的类是Entry的实例。Entry中包含成员变量: previous, next,element。其中,previous是该节点的上一个节点,next是该节点的下一...

2019-03-20 23:11:12

阅读数 24

评论数 0

ArrayList源码解析

ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增。ArrayList中的操作不是线程安全的! 基本属性 private static final int DEFAULT_CAPACITY = 10; // 初始容量10 private static...

2019-03-20 22:03:09

阅读数 32

评论数 0

HashMap源码解析

JDK1.8对HashMap进行了比较大的优化,底层实现由之前的“数组+链表”改为“数组+链表+红黑树”,JDK1.8的HashMap的数据结构如下图所示,当链表节点较少是仍然是以链表存在,当链表节点较多是(大于8)会转为红黑树。 先了解下面几点,更好的理解HashMap的源码 头节点指的是t...

2019-03-20 15:44:10

阅读数 15

评论数 0

Android Handler机制

一、关于Handler 的问题 1. 为什么在主线程可以直接使用Handler? 2. Looper 对象是如何绑定MessageQueue的? 3. MessageQueue里的消息从那里来?Handler 是如何往MessageQueue中插入消息? 4. Message 是如何绑定Handl...

2019-03-15 16:46:03

阅读数 23

评论数 0

Android之内存泄露、内存溢出、内存抖动

内存 JAVA 是在JVM所虚拟出的内存环境下运行的,内存分为三个区:堆、栈和方法区。 栈(stack):是简单的数据结构,程序运行时系统自动分配,使用完毕后自动释放。优点:速度快。 堆(heap):用于存放由new 创建的对象和数组。在堆中分配的内存,一方面由java虚拟机自动垃圾回收器来管理...

2019-02-27 23:21:55

阅读数 44

评论数 0

Android进程间的通信

由于Android系统中应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),Android SDK提供了4种跨进程通讯的方式。这4种方式正好对应Android系统中4种应用程序组件:Activity、ContentProvider、Broadcast 和 Service。 1. A...

2019-02-25 22:28:49

阅读数 15

评论数 0

Android极光推送 jcenter 自动集成

极光推送提供了一种jcenter自动集成的方式,相对于之前的手动集成方式,这种方法真的是简单快捷,可以省去很多操作,让你分分钟搞定极光推送,再也不用为以前那种大规模复制粘贴而烦恼了。 1.配置jcenter支持 在Project 根目录的主 gradle 中配置了jcenter支持(新建proje...

2019-01-01 17:55:26

阅读数 62

评论数 1

Android四大组件之ContentProvider

ContentProvider作为四大组件之一,主要作用是进程间进行数据交互和共享(跨进程通信) ContentProvider相当于中间者角色(搬运工),真正 存储和操作数据的数据源还是原来存储数据的方式(数据库、文件、xml或网络) 数据源可以是数据库、文件、xml、网络等 使用Conte...

2018-12-07 17:41:24

阅读数 61

评论数 0

Android四大组件之BroadcastReceiver

普通广播(Normal broadcasts) 是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传播的效率比较高; 缺点是接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播; //发送普通广播,所有订阅者都有机会获得并进行处理 Context.send...

2018-12-04 10:41:18

阅读数 31

评论数 0

Android四大组件之Service

第一种方式: 通过start方式开启服务 使用service的步骤: 定义一个类继承Service; manifest.xml文件中配置Service; 使用context.startService(Intent)启动Service; 不使用时,调用context.stopSe...

2018-12-03 17:17:33

阅读数 81

评论数 0

Android四大组件之Activity

一、Activity 生命周期 这里用Activity1、Activity2来举例说明生命周期的流程 启动Activity1:系统调用onCreate(),然后调用onStart(),在调用onResume(),activity进入运行状态。 Activity1被其它Activity...

2018-12-02 00:08:02

阅读数 119

评论数 0

View测量、布局和绘制

View三大流程的发起点 当Activity对象被创建完毕后,会将DecorView添加到Window中(Window是对窗口的抽象,DecorView是一个窗口的顶级容器View,其本质是一个FrameLayout,同时会创建ViewRootImpl(ViewRoot的实现类)对象,并将Vie...

2018-11-29 17:28:55

阅读数 50

评论数 0

View事件分发

Android中,虽然View不属于四大组件,但它的作用可以堪比四大组件,不管是一个普通的视图,还是一个复杂的布局,都是依靠View来实现的。 与事件分发有关的方法 一个完整的手势包括4个操作 事件 作用 ACTION_DOWN 手指按下 AC...

2018-11-26 23:01:50

阅读数 35

评论数 0

DataBinding使用(三):DataBinding高级使用

一、动态变量 有时候我们可能不知道Binding类的名称,比如RecyclerView.Adapter中item布局可能有很多,并不会对应特定的Binding类,但任然需要通过onBindViewHolder(VH, int )去绑定数据 public void onBindViewHolde...

2018-11-19 17:15:53

阅读数 41

评论数 0

DataBinding使用(二):可观察的数据对象

DataBinding中可观察的对象的作用是当数据发生变化是通知其它对象,和观察者模式差不多。Databinding 提供了三种通知方式来通过JavaBean更新UI,分别是Observable对象,ObservableFilelds字段和Observable Cllections集合,这些数据对...

2018-11-18 23:04:21

阅读数 45

评论数 0

DataBinding使用(一):布局和binding表达式

DataBinding通过数据绑定,可以直接在xml中绑定数据并实现一些处理逻辑,实时动态刷新数据。可以减少代码量,没有反射性能也很好。 一、环境配置 在Module级别的build.gradle上添加对DataBinding的支持 android { .... data...

2018-11-17 19:44:19

阅读数 147

评论数 0

Android ConstraintLayout 布局

AndroidStudio 3.0 默认ConstraintLayout,可以减少布局层级并提高布局性能;能够灵活的定位和调整子View的大小,子View依靠约束关系来确定位置。 一、基本属性 属性 作用 layout_constraintLeft_toLe...

2018-11-05 21:45:16

阅读数 53

评论数 0

Kotlin Android个人总结

Android项目中使用了一段时间的Kotlin,给我的体验还是不错的,上手比较容易,和Java完全兼容,相互调用也比较方便,代码量减少了一部分特此做一个小小的总结: 万能的 : 作用 示例 定义变量类型 var hello:String = &a...

2018-11-04 20:49:18

阅读数 36

评论数 0

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