<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingys的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DZ266912</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DZ266912]]></copyright><item><title><![CDATA[Activity启动模式]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/97001560</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/97001560</guid><author>DZ266912</author><pubDate>Tue, 23 Jul 2019 15:56:57 +0800</pubDate><description><![CDATA[Activity任务栈
通常每个APP都有一个Activity任务栈，app中所有的Activity都存在该任务栈中，栈顶的Activity为当前正在显示的Activity。当点击Icon启动App时，会先判断当前App的任务栈是否已经存在，如果已经存在则这接把任务栈调出来显示，不存在则创建任务栈，然后将应用的Activity入口打开。
启动模式
Standard
标准模式，每次启动Activit...]]></description><category></category></item><item><title><![CDATA[Java并发编程]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/96998479</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/96998479</guid><author>DZ266912</author><pubDate>Tue, 23 Jul 2019 15:24:20 +0800</pubDate><description><![CDATA[Java编发编程
Thread
Thread的几种状态

NEW:线程刚创建还没start
RUNNABLE： 线程正在JVM中执行
BLOCKED： 当前线程正在等待monitor lock Synchronized代码块会让没获得锁的线程进入Blocked状态，Object.wait也会进入BLOCKED状态。
WAITING： 等待其他线程唤醒。Locksupport.park会让线程进入w...]]></description><category></category></item><item><title><![CDATA[从源码理解LinkedMap和HashMap的区别]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78278570</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78278570</guid><author>DZ266912</author><pubDate>Wed, 18 Oct 2017 22:07:11 +0800</pubDate><description><![CDATA[前面几篇从源码角度分析了HashMap put和遍历过程HashMap数据结构以及put过程，HashMap遍历原理，通过上面两篇分析HahMap遍历数据的顺序是随机的，LinkedHashMap和HashMap唯一的不同是后者遍历的是有序的。数据结构HashMap使用的是数组＋单链表的数据结构（本质上是数组，数组的每个元素是一个单向链表），LinkedHashMap使用的是数组＋双向链表数据结构。]]></description><category></category></item><item><title><![CDATA[HashMap从源码角度分析遍历过程]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78233777</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78233777</guid><author>DZ266912</author><pubDate>Sat, 14 Oct 2017 13:38:00 +0800</pubDate><description><![CDATA[上一篇分析了HashMap的数据结构以及put方法的源码 
HashMap源码解析，下面分析HashMap的遍历过程的源码。 
遍历的方法有很多中，主要分析下面这种：  Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();
                while (iterator.hasNex]]></description><category></category></item><item><title><![CDATA[HashMap源码解析]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78233465</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78233465</guid><author>DZ266912</author><pubDate>Sat, 14 Oct 2017 12:39:05 +0800</pubDate><description><![CDATA[HashMap很多面试都会问，很纳闷儿那么多数据结构为什么非挑HashMap呢？直到分析了源码以后才发现这里面包含了大量的知识点，单挑出一个来就能问到你怀疑人生。HashMap数据结构先介绍两种常用的数据结构，以及优缺点：数组数组在内存中是连续存放的，所以数组的遍历速度很快，但是在数组中插入数据时，需要将插入位置之后的元素依次向后移动，所以数组插入数据的效率较低。链表HashMap中使用的单向链表，]]></description><category></category></item><item><title><![CDATA[Fresco解析 （Controller）]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78087623</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78087623</guid><author>DZ266912</author><pubDate>Mon, 25 Sep 2017 17:34:47 +0800</pubDate><description><![CDATA[第一篇 Fresco初始化流程 
第二篇 DraweeView, DraweeHierarchy 分析DraweeController根据之前的分析，调用SimpleDraweeView.setImageURI()方法就可以显示图片，源码很简单：public void setImageURI(Uri uri, @Nullable Object callerContext) {
    DraweeC]]></description><category></category></item><item><title><![CDATA[Fresco解析（DraweeView,DraweeHierarchy）]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78050721</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78050721</guid><author>DZ266912</author><pubDate>Thu, 21 Sep 2017 12:59:13 +0800</pubDate><description><![CDATA[上一篇分析SimpleDraweeView调用setController方法来显示图片， 接下来分析setController具体实现。按住Ctrl进入setController内部，看到此方法定义在DraweeView中,那就先分析DraweeView。DraweeView先看注释：/*
 * View that displays a {@link DraweeHierarchy}.
 * Hie]]></description><category></category></item><item><title><![CDATA[Fresco解析 （初始化）]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78032289</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78032289</guid><author>DZ266912</author><pubDate>Tue, 19 Sep 2017 17:13:56 +0800</pubDate><description><![CDATA[项目图片加载框架换成了Fresco，都说功能很强大，拿出了一些时间分析了一下源码，特此总结一下，由于能力有限，有分析不对的地方，欢迎大神指正。Fresco官方文档 https://www.fresco-cn.org/docs/Fresco源码整体架构是一个非常标准的MVC，不过现在主流的架构应该是MVP，不过多了解一些东西也不是啥坏事。除此之外Fresco源码还使用了工厂模式，管道，构建者模式，Pr]]></description><category></category></item><item><title><![CDATA[Android事件分发机制（二）]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/78008277</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/78008277</guid><author>DZ266912</author><pubDate>Sun, 17 Sep 2017 09:12:07 +0800</pubDate><description><![CDATA[当ViewGroup不拦截事件时，事件将会向子View传递，那到底是怎样把事件传递到子View的呢？接下来将分析这个流程，先看代码ViewGroup事件分发final View[] children = mChildren;
for (int i = childrenCount - 1; i >= 0; i--) {
    final int childIndex = getAndVerifyPr]]></description><category></category></item><item><title><![CDATA[Android事件分发机制（一）]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/77923954</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/77923954</guid><author>DZ266912</author><pubDate>Sun, 10 Sep 2017 18:55:15 +0800</pubDate><description><![CDATA[在项目中遇到过很多次的事件冲突，在博客上看过一些事件分发的文章，但是基本上都是为了先解决需求，一直没有深入的研究，没过几天就忘的差不多了，下次再遇到这方面的问题仍然需要找百度帮忙，正好这一阵有时间，想好好整理一下Android事件分发，特此记录一下。
看过很多关于事件分发的博客，写的都非常好。分享一下自己关于这块内容的学习经验，如果不清楚事件分发的流程，不太建议一上来就分析源码，可以先看
[http]]></description><category></category></item><item><title><![CDATA[防百度地图上下拖动View]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/77914023</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/77914023</guid><author>DZ266912</author><pubDate>Sat, 09 Sep 2017 11:31:04 +0800</pubDate><description><![CDATA[因项目需求要实现类似于百度地图上下拖动的效果，特此分享，百度地图效果： 
 
地图显示为一个Activity，View可以跟随手指的滑动而移动，手指松开时自动滑动到屏幕的底部或者顶部。 
直接上代码：<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/]]></description><category></category></item><item><title><![CDATA[Android Activity]]></title><link>https://blog.youkuaiyun.com/DZ266912/article/details/77676929</link><guid>https://blog.youkuaiyun.com/DZ266912/article/details/77676929</guid><author>DZ266912</author><pubDate>Tue, 29 Aug 2017 13:45:27 +0800</pubDate><description><![CDATA[Android Activity生命周期 Activity销毁机制]]></description><category></category></item></channel></rss>