2013年10月25日

LruCache

摘要: 值得一提的另一个类是android.util.LruCache,这个类是Android 3.1(代号 Honeycomb MR1)引入的,可以在创建时定义缓存的最大长度。另外,还可以通过覆写sizeof()方法改变每个缓存条目计算大小的方式。因为android.util.LruCache只能在Android 3.1及更高版本上使用,如果针对版本低于3.1的Android设备,则仍然必须使用不同的类来实现自己的应用缓存。由于目前的Android 3.1设备占有率不高,这种情况很有可能出现。替代方案是继承java.util.LinkedHashMap覆写removeEldestEntry。LRU( 阅读全文

posted @ 2013-10-25 23:32 小嘟 阅读(279) 评论(0) 推荐(0)

android中像素单位dp、px、pt、sp的比较

摘要: dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看T 阅读全文

posted @ 2013-10-25 16:49 小嘟 阅读(226) 评论(0) 推荐(0)

静态内部类

摘要: 两种内部类Java的内部类有两种,一种是静态内部类,另一种是普通内部类,普通内部类可以获得外部对象的引用,所以在普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源,可以说普通内部类依赖于外部类,普通内部类与外部类是共生共死的,创建普通内部类的对象之前,必须先创建外部类的对象。创建普通内部类的代码如下:Outer o = new Outer();Outer.Inner inner = o.new Inner();Outer.Inner inner = new o.Inner(); /* 错误 */Outer.Inner inner = new Outer.Inner(); ... 阅读全文

posted @ 2013-10-25 14:22 小嘟 阅读(389) 评论(0) 推荐(0)

synchronized

摘要: Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。 三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时, 阅读全文

posted @ 2013-10-25 11:50 小嘟 阅读(117) 评论(0) 推荐(0)

导航