2015年1月14日
摘要: HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机... 阅读全文
posted @ 2015-01-14 10:52 DragonDancing 阅读(144) 评论(0) 推荐(0) 编辑
  2014年10月4日
摘要: 在Android系统中,BroadcastReceiver的设计初衷就是从全局考虑的,可以方便应用程序和系统、应用程序之间、应用程序内的通信,所以对单个应用程序而言BroadcastReceiver是存在安全性问题的,相应问题及解决如下:1、当应用程序发送某个广播时系统会将发送的Intent与系统中... 阅读全文
posted @ 2014-10-04 19:52 DragonDancing 阅读(200) 评论(0) 推荐(0) 编辑
  2014年8月11日
摘要: Paint类常用方法void setARGB(int a, int r, int g, int b) 设置Paint对象颜色,参数一为alpha透明通道void setAlpha(int a) 设置alpha不透明度,范围为0~255void setAntiAlias(boolean aa) //是... 阅读全文
posted @ 2014-08-11 21:27 DragonDancing 阅读(1034) 评论(0) 推荐(0) 编辑
  2014年7月30日
摘要: /** * * VacantCell:代表空的cells,由多个cell组成,将其实现为一个cell池,减少对象的创建 * */ static final class VacantCell{ private static final int POOL_SIZE = 100; //池最多缓存... 阅读全文
posted @ 2014-07-30 16:00 DragonDancing 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-07-30 11:35 DragonDancing 阅读(124) 评论(0) 推荐(0) 编辑
  2013年9月4日
摘要: 一、Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有向图的起始顶点,该图就是从起始顶点开始的一棵树,根顶点可以到达的对象都是有效对象,GC不会回收这些对象。如果 阅读全文
posted @ 2013-09-04 13:43 DragonDancing 阅读(234) 评论(0) 推荐(0) 编辑
  2013年8月1日
摘要: Hash表数据结构常识:一、哈希表基于数组。二、缺点:基于数组的,数组创建后难以扩展。某些哈希表被基本填满时,性能下降得非常严重。三、没有一种简便得方法可以以任何一种顺序遍历表中数据项。四、如果不需要有序遍历数据,并且可以提前预测数据量的大小,那么哈希表在速度和易用性方面是无与伦比的。一、为什么HashCode对于对象是如此的重要:一个对象的HashCode就是一个简单的Hash算法的实现,虽然它和那些真正的复杂的Hash算法相比还不能叫真正的算法,它如何实现它,不仅仅是程序员的编程水平问题,而是关系到你的对象在存取是性能的非常重要的关系.有可能,不同的HashCode可能会使你的对象存取产生 阅读全文
posted @ 2013-08-01 14:28 DragonDancing 阅读(1822) 评论(0) 推荐(0) 编辑
  2013年3月11日
摘要: 软件名:gaeproxy软件作用:Android手机配置GoAgentFQ。项目地址:https://github.com/madeye/gaeproxy.git软件名:ProxyDroid软件作用:GlobalProxyAppforAndroidSystem项目地址:https://github.com/madeye/proxydroid.git软件名:dbartists软件作用:DoubanArtistsThird-partyAndroidClient项目地址:https://github.com/madeye/dbartists.git软件名:droidwall软件作用:Android手 阅读全文
posted @ 2013-03-11 08:52 DragonDancing 阅读(619) 评论(0) 推荐(0) 编辑
  2012年8月25日
摘要: 原始类型,如整形、字符型等,都是可以在Java和本地代码之间进行复制的。另一方面,任意的Java对象都是通过引用进行传递的。虚拟机必须跟踪已传递给本地代码中的所有对象,以便于这些对象不被垃圾回收器释放。反过来,本地代码必须有一个方式通知虚拟机它不再需要这些对象。此外,垃圾收集器必须能够将本机代码引用的对象移除。全局和局部引用 JNI将本地代码使用的对象引用分为两类:局部引用和全局引用。局部引用在本地方法的调用过程中是有效的,并在本地方法返回时自动释放。全局引用一直有效,直到他们被显式释放。 对象被传递到本地方法并作为局部引用。JNI函数所返回的所有Java对象都是局部引用。JNI允许程... 阅读全文
posted @ 2012-08-25 23:48 DragonDancing 阅读(656) 评论(1) 推荐(1) 编辑
  2012年8月23日
摘要: 本地方法是使用System.loadLibrary方法进行加载。在下面的例子中,类的初始化方法加载了一个在特定平台的本地库,在这个库中定义了本地方法f:package pkg;class Cls { native double f(int i, String s); static { System.loadLibrary(“pkg_Cls”); }} System.loadLibrary方法的参数是由程序员任意选择的一个库名。该系统遵循一个标准,但特定于平台的方法来将库的名称转换到本地库的名称。例如,在Solaris系统将pkg_Cls的名称转换为libpkg_Cls.so,而W... 阅读全文
posted @ 2012-08-23 22:31 DragonDancing 阅读(285) 评论(0) 推荐(0) 编辑