Android爱好者

生命不息 博客不止

Android LinkedHashMap源码详解

Android LinkedHashMap源码详解

“灯前目力虽非昔,犹课蝇头二万言。” –陆游 正文 在上一篇中我们分析了HashMap的源码,了解HashMap是以数组加链表的形式存储的,这一篇我们结合上一篇的内容来分析一下LinkedHashMap的源码,在阅读之前最好能把上一篇的Android HashMap源码详解看一遍,尤其是HashMap的结构图要理解清楚,我们来先看一下LinkedHashMap的构造方法,由于比...

Android HashMap源码详解

HashMap的原理分析

“浮生恰似冰底水,日夜东流人不知。” –杜牧 正文 这一篇来分析一下HashMap的源码,为了在后面讲解Android缓存机制做准备,因为我们知道在Android的缓存机制中无论是用第三方的还是我们自己写的,一般都会用到LruCache或者LinkedHashMap类,而LruCache里面封装的又是LinkedHashMap,LinkedHashMap又是HashMap的子类,...

Android Handle,Looper,Message消息机制

Android Handle,Looper,Message消息机制

“非学无以广才,非志无以成学。” –诸葛亮 正文 我们知道在Android中更新UI都是在主线程中,而操作一些耗时的任务则需要在子线程中,如果存在多个线程共同更新UI,可能会导致页面显示混乱,所以在Android中不允许多线程来共同操作UI,只允许在主线程中更新,下面我们就分析一下Android的消息机制,我们首先要了解这几个类:Handler,Message,Looper,M...

Android onTouchEvent和onInterceptTouchEvent事件分发详解(三)

Android onTouchEvent和onInterceptTouchEvent事件分发详解

“花门楼前见秋草,岂能贫贱相看老。” –岑参 正文 紧接前一篇几个问题的验证,在看之前最好把上一篇的Android onTouchEvent和onInterceptTouchEvent事件分发详解(二)先看一下。 在上一篇我们根据源码分析了Android事件的分发机制,在最后总结了几个问题,在这一篇我们将为大家逐一验证。 总共有3个类,一个Activity,一个ViewGrou...

Android onTouchEvent和onInterceptTouchEvent事件分发详解(二)

Android onTouchEvent和onInterceptTouchEvent事件分发详解

“壮心未与年俱老,死去犹能作鬼雄。” –陆游 正文 通过上一篇的简单演示,我们知道默认情况下只有Button和ImageButton的onTouchEvent返回的是true,表示事件被消耗。这一篇我们结合demo来分析一下它的源码,我们知道在Activity中也有dispatchTouchEvent和onTouchEvent方法,其实他最终调用的还是Viewgroup的方法,...

Java执行顺序

Java执行顺序

“愿得此身长报国,何须生入玉门关。” –戴叔伦 正文 我们先看下面两个类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class Parent { // 08 public String tag = "parent"; // 01 public static String s...

Android onTouchEvent和onInterceptTouchEvent事件分发详解(一)

Android onTouchEvent和onInterceptTouchEvent事件分发详解

“古人学问无遗力,少壮工夫老始成。” –陆游 正文 在讲解之前,先看一下demo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 5...

Java 常量池

Java 常量池

“宁可枝头抱香死,何曾吹落北风中。” –郑思肖 正文 最近在网上看到一些Android的面试题,关于String和Integer常量池的,就总结了一下,暂时先记录下来,以后说不定能用到 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ...

Android startActivity源码详解

Android startActivity源码详解

“黑发不知勤学早,白首方悔读书迟。” –颜真卿 正文 在Android页面跳转的时候,我们一般都会调用startActivity(Intent intent),调用之后就会跳转到下一个页面了,究竟是怎么跳转的,今天我们结合源码来给大家分析一下,我们知道,Android的Activity的创建,启动都非常复杂,很多类都比较庞大,我们把主要的树干理清就行了,不必过多的纠结于它的繁枝...

Android LayoutInflater源码分析及使用(三)

Android LayoutInflater源码分析及使用

“时人不识凌云木,直待凌云始道高。” –杜荀鹤 正文 上一篇最后我们总结了3个问题,但还没有验证,这一篇我们将逐个为大家验证,下面是一些关键代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package com.example.androiddemo; import andro...