摘要: 官方网站1、谷歌安卓开发者页面这里是主站点,在这您可以找到一切资源帮助您开始安卓开发。此站包含了很多关于学习基础知识的资源,完整的API引用,以及你开始开发所需的各种工具。此站共分为五个部分:作为初学者,你应该从工具开始,这部分讲解了如何安装安卓SDK。教程为你提供了关于安卓的基本介绍,教给你如何写出你的第一个程序。它包括很多的资源,即便成为高级程序员你仍需阅读这里面的文章。API指南是对于不同API更技术性的手册,在更加深入理解安卓内部工作方面十分有用。参考手册包含关于安卓库的完整的类引用。在Google Services部分你会找到更多库的信息,这些库可以让你连接到Google的服务,例如 阅读全文
posted @ 2014-01-08 15:04 xplee 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 原文链接:Javarevisited翻译:ImportNew.com-唐小娟译文链接:http://www.importnew.com/7099.htmlHashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入让这道题变得更加复杂。让我们开始探索的旅程吧! 阅读全文
posted @ 2014-01-08 14:50 xplee 阅读(163) 评论(0) 推荐(0) 编辑
摘要: LRU Cache数据结构的介绍可以参考前面的http://www.cnblogs.com/XP-Lee/p/3441555.html。 本文以Android LRUCache来做一个简单的介绍。我们已经知道LRU Cache是一个hash map+双向链表的数据结构,那么在Android的Java自然也逃不出这个框,谷歌在Android3.1(v4 library也支持)之后提供了一个封装此数据结构实现的LRUCache类。Android LRUCache访问数据 LRUCache暴露了三个线程安全的方法get(K)、put(K)和remove(K),通过这三个方法,我们可以操作ca... 阅读全文
posted @ 2013-11-26 17:33 xplee 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 对于AbsListView子类,假设它的宽高是自适应的,你会发现getView()和getCount()会被疯狂的反复调用。即使在AbsListView子类设置完adapter后,getView()和getCount()也会被疯狂的调用10几次甚至更多。原因就在于measure过程,AbsListView子类会包含很多个item,而且由于AbsListView和Adapter机制的关系,会尽可能的将一系列item显示在屏幕中,当然这些item的父容器都是AbsListView子类。 在Android中View的布局机制分成两个阶段:measure和layout。在measure阶段时主要... 阅读全文
posted @ 2013-11-26 16:27 xplee 阅读(554) 评论(0) 推荐(0) 编辑
摘要: layout mechanism Android中View的layout mechanism主要分为两个阶段:measure阶段和layout阶段。layout mechanism按照一定的顺序进行,总体上来讲是先measure然后layout。一、measure阶段 以父容器提供的宽高参数作为限制条件,计算本身的大小(宽高)。这个过程需要调用final方法measure(int, int)完成。根据源码,我们可以知道实际的measure过程却是由回调方法onMeasure(int, int)来进行。因此我们常常可以看到在View的子类中,会根据需要,有重写方法onMeasure(int,.. 阅读全文
posted @ 2013-11-26 15:37 xplee 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。 什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。 广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之间有Cache, 内存与硬盘之间也有Cache,乃至在硬盘与网络之间也有某种意义上的Cache── 称为Internet临时文件夹或网络内容缓存等。 Cache的容量有限,因此当Cache的容量用完后,而.. 阅读全文
posted @ 2013-11-25 15:08 xplee 阅读(6109) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.csdn.net/wangkuifeng0118/article/details/7944215书架效果: 下面先看一下书架的实现原理吧! 首先看一下layout下的布局文件main.xml 1 2 8 9 10 23 24 31 32 33 40 41 53 54 55 56 57 58 上面是个自定义的gridview主要来实现书架,因为每一本书是一个item,在自定义的grid... 阅读全文
posted @ 2013-11-06 11:57 xplee 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 转载自http://blog.csdn.net/linghu_java/article/details/8595717 Android中加载一个Bitmap(位图)到你的UI界面是非常简单的,但是如果你要一次加载一大批,事情就变得复杂多了。在大多数的情况下(如ListView、GridView或者ViewPager这样的组件),屏幕上的图片以及马上要在滚动到屏幕上显示的图片的总量,在本质上是不受限制的。像这样的组件在子视图移出屏幕后会进行视图回收,内存使用仍被保留。但假设你不保留任何长期存活的引用,垃圾回收器也会释放你所加载的Bitmap。这自然再好不过了,但是为了保持流畅且快速加载的UI,. 阅读全文
posted @ 2013-11-06 11:29 xplee 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.... 阅读全文
posted @ 2013-11-06 11:09 xplee 阅读(1706) 评论(0) 推荐(0) 编辑
摘要: 1 package android.util; 2 3 import java.util.LinkedHashMap; 4 import java.util.Map; 5 6 /** 7 * A cache that holds strong references to a limited number of values. Each time 8 * a value is accessed, it is moved to the head of a queue. When a value is 9 * added to a full c... 阅读全文
posted @ 2013-11-06 10:59 xplee 阅读(723) 评论(0) 推荐(1) 编辑