上文中,main.xml是我直接提出来的,并没有说明是怎么找到它的,现在说明发现它的理由: 一般我们分析界面布局会用到hierarchyviewer这个工具,从工具中,我们对应到视图,最主要的视图id我们找到了"gl_root_view",这一点在上一节中有说明.在Source insight中搜索这个id,我们找到了layout/Gl_root_group.xml: <merge xmlns:android="http://schemas.android.com/ap…
首先申明,找到这个类是在GLRootView.java中发现的线索.这是一个接口,源码中对该接口作了详细的说明: // // GLCanvas gives a convenient interface to draw using OpenGL. // // When a rectangle is specified in this interface, it means the region // [x, x+width) * [y, y+height) // public interface…
GLCanvasImpl.java是接口GLCanvas的唯一实现类,也就是说二者在功能上完全等同.代码中调用GLCanvas对象函数的地方,等效于调用GLCanvasImpl中的该函数,GLCanvasImpl对该函数有具体的实现. 1.构造函数 GLCanvasImpl(GL11 gl) { mGL = gl; mGLState = new GLState(gl); initialize(); } 1.1.new GLState(gl) public GLState(GL11 gl) { m…
分析一个项目的源代码时,第一件事就是查看清单文件,找到程序入口,我们从Gallery2源码的清单文件中可以看到GalleryActivity是此应用的启动Activity. <activity android:name="com.android.gallery3d.app.GalleryActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|or…
原文地址:http://www.cnblogs.com/nuysoft/archive/2011/11/14/2248023.html jQuery源码分析(版本1.6.1) 目录 00 前言开光 01 总体架构 02 正则表达式-RegExp-常用正则表达式 03 构造jQuery对象-源码结构和核心函数 03 构造jQuery对象-工具函数 04 选择器 Sizzle-工作原理 04 选择器 Sizzle-设计思路 04 选择器 Sizzle-从左向右的余热 04 选择器 Sizzle-块分…
最近在看 侯捷的 STL源码分析,发现了以下的这个list 排序算法,乍眼看去,实在难以看出它是归并排序. 平常大家写归并排序,通常写的是 递归版本..为了效率的考虑,STL库 给出了如下的 归并排序的迭代版本. 1. MergeSort 的递归版本 首先分析下 MergeSort 的递归版本是如何工作的.递归版本代码可参考 http://blog.csdn.net/shoulinjun/article/details/19290237 考虑如下的例子,对一个长度为 8 的数组进行归并排序. 2…
ScheduleThreadPoolExecutor源码分析(一) Java中ScheduleThreadPoolExecutor主要用于执行延迟任务或者按照一定的频率执行任务.其中scheduleAtFixedRate函数是按照一定频率执行任务,scheduleWithFixedDelay可以根据延迟一定时间再执行任务.本文将参考ScheduleThreadPoolExecutor的源码来剖析其为什么能够支持延迟并按照固定频率执行任务. ScheduleThreadPoolExecutor之所…
同步发布:http://www.yuanrengu.com/index.php/20180221.html Java的集合类主要由两个接口派生而出:Collection和Map.Collection是一个接口,它主要的两个分支为List和Set,Map的介绍会在后面的系列中进行详细的分析.如下图所示为Collection接口.子接口及其实现类的继承树. 源码分析如下: package java.util; /** * Collection继承了迭代器的接口,即整个集合类都采用了迭代器模式 */…
AbstractQueuedSynchronizer源码分析 前提 AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer)是并发编程大师Doug Lea创作的用来构建锁或者其他同步组件(信号量.事件等)的基础框架类.在J2SE 1.5的java.util.concurrent包(下称JUC包)中,大部分的同步器(例如锁,屏障等等)都是基于AbstractQueuedSynchronizer类(下称AQS类)这个简单的框架(说实话,作为…
目录 ArrayList简介: ArrayList 相关方法介绍 代码表示 相关方法源码分析 ArrayList简介: java.util.ArrayList 是我们最常用的一个类,ArrayList 底层是动态数组,读者可以把它理解为数组的实现 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializab…