![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android技术开发
文章平均质量分 78
长腿欧巴的痘痘
这个作者很懒,什么都没留下…
展开
-
Activity启动模式
Activity任务栈通常每个APP都有一个Activity任务栈,app中所有的Activity都存在该任务栈中,栈顶的Activity为当前正在显示的Activity。当点击Icon启动App时,会先判断当前App的任务栈是否已经存在,如果已经存在则这接把任务栈调出来显示,不存在则创建任务栈,然后将应用的Activity入口打开。启动模式Standard标准模式,每次启动Activit...原创 2019-07-23 15:56:57 · 183 阅读 · 0 评论 -
HashMap源码解析
HashMap很多面试都会问,很纳闷儿那么多数据结构为什么非挑HashMap呢?直到分析了源码以后才发现这里面包含了大量的知识点,单挑出一个来就能问到你怀疑人生。HashMap数据结构先介绍两种常用的数据结构,以及优缺点:数组数组在内存中是连续存放的,所以数组的遍历速度很快,但是在数组中插入数据时,需要将插入位置之后的元素依次向后移动,所以数组插入数据的效率较低。链表HashMap中使用的单向链表,原创 2017-10-14 12:39:05 · 599 阅读 · 0 评论 -
HashMap从源码角度分析遍历过程
上一篇分析了HashMap的数据结构以及put方法的源码 HashMap源码解析,下面分析HashMap的遍历过程的源码。 遍历的方法有很多中,主要分析下面这种: Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator(); while (iterator.hasNex原创 2017-10-14 13:38:00 · 813 阅读 · 0 评论 -
Android Activity
Android Activity生命周期 Activity销毁机制原创 2017-08-29 13:45:27 · 395 阅读 · 0 评论 -
从源码理解LinkedMap和HashMap的区别
前面几篇从源码角度分析了HashMap put和遍历过程HashMap数据结构以及put过程,HashMap遍历原理,通过上面两篇分析HahMap遍历数据的顺序是随机的,LinkedHashMap和HashMap唯一的不同是后者遍历的是有序的。数据结构HashMap使用的是数组+单链表的数据结构(本质上是数组,数组的每个元素是一个单向链表),LinkedHashMap使用的是数组+双向链表数据结构。原创 2017-10-18 22:07:11 · 10201 阅读 · 1 评论 -
防百度地图上下拖动View
因项目需求要实现类似于百度地图上下拖动的效果,特此分享,百度地图效果: 地图显示为一个Activity,View可以跟随手指的滑动而移动,手指松开时自动滑动到屏幕的底部或者顶部。 直接上代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/原创 2017-09-09 11:31:04 · 2171 阅读 · 1 评论 -
Android事件分发机制(二)
当ViewGroup不拦截事件时,事件将会向子View传递,那到底是怎样把事件传递到子View的呢?接下来将分析这个流程,先看代码ViewGroup事件分发final View[] children = mChildren;for (int i = childrenCount - 1; i >= 0; i--) { final int childIndex = getAndVerifyPr原创 2017-09-17 09:12:07 · 325 阅读 · 0 评论 -
Android事件分发机制(一)
在项目中遇到过很多次的事件冲突,在博客上看过一些事件分发的文章,但是基本上都是为了先解决需求,一直没有深入的研究,没过几天就忘的差不多了,下次再遇到这方面的问题仍然需要找百度帮忙,正好这一阵有时间,想好好整理一下Android事件分发,特此记录一下。看过很多关于事件分发的博客,写的都非常好。分享一下自己关于这块内容的学习经验,如果不清楚事件分发的流程,不太建议一上来就分析源码,可以先看[http原创 2017-09-10 18:55:15 · 281 阅读 · 0 评论 -
Java并发编程
Java编发编程ThreadThread的几种状态NEW:线程刚创建还没startRUNNABLE: 线程正在JVM中执行BLOCKED: 当前线程正在等待monitor lock Synchronized代码块会让没获得锁的线程进入Blocked状态,Object.wait也会进入BLOCKED状态。WAITING: 等待其他线程唤醒。Locksupport.park会让线程进入w...原创 2019-07-23 15:24:20 · 263 阅读 · 0 评论