【转载】android:layout_gravity 和 android:gravity 的区别
摘要:声明:本文转载自http://www.cnblogs.com/ghj1976/archive/2011/04/26/2029535.html版权和最终解释权给原作者所有,谢谢。gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity 和 android:gravity 的区别从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。比如说button: and
阅读全文
posted @
2013-01-30 23:00
大大森林
阅读(93)
推荐(0)
【转载】android:padding和android:margin的区别
摘要:声明:本文转载自http://blog.csdn.net/maikol/article/details/6048647版权和最终解释权给原作者所有,谢谢。android:layout_marginLeft指该控件距离边父控件的边距,android:paddingLeft指该控件内部内容,如文本距离该控件的边距。如:当按钮分别设置以上两个属性时,得到的效果是不一样的。android:paddingLeft="30px":按钮上设置的内容(例如图片)离按钮左边边界30个像素。android:layout_marginLeft="30px"整个按钮离左边设置的
阅读全文
posted @
2013-01-30 22:50
大大森林
阅读(136)
推荐(0)
【转载】Android编译系统Makefile(Android.mk)写法
摘要:声明:本文转载自http://www.cnblogs.com/hesiming/archive/2011/03/15/1984444.html版权和最终解释权给原作者所有,谢谢。android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(callmy-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Android.mk中可以定义多个编译模块,每个编译模
阅读全文
posted @
2013-01-30 21:12
大大森林
阅读(192)
推荐(0)
Handler基础知识及使用
摘要:Handler基础知识Handler主要接受子线程发送过来的数据,并用此数据配合主线程更新UI。当应用程序启动时,Android首先会开启一个主线程(UI线程),主线程管理界面中的UI控件,进行事件分发。例如,点击一个Button,Android会分发事件到Button上,来响应点击事件。如果需要进行一个比较耗时的操作,例如联网读取数据、读取本地一个较大的文件等,则不能把这些操作放在主线程,否则会出现假死的现象。如果UI线程中的操作在5秒钟内还没有完成的话,就会收到Android系统的一个“强制关闭”的错误提示。为了避免出现这样的问题,需要把这些耗时的操作放在子线程中进行,因为子线程中涉及UI
阅读全文
posted @
2013-01-27 12:52
大大森林
阅读(210)
推荐(0)
Android中的适配器的高效写法
摘要:Adapter是ListView和数据源之间的中间人:当每一条数据进入可见区时: Adapter的getView()会被调用; 返回代表具体数据的视图;触屏滚动时,频繁调用支持成百上千条数据显示每一条数据的XML布局文件<LinearLayout xmsns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" > <ImageView android:id="@+id/icon" android:l
阅读全文
posted @
2013-01-26 22:34
大大森林
阅读(243)
推荐(0)
【转载】Android中的Intent详解
摘要:声明:本文转载自http://www.eoeandroid.com/thread-34-1-1.html版权和最终解释权给原作者所有,谢谢。在一个Android应用中,主要有四大组件构建,这四大组件可以参考Android应用的构成,四大组件之间是独立的,但是它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。四大组件之间的通信,主要是由Intent协助完成的。Intent负责对应用中一次操作的动作、动作涉及的数据以及附加数据进行描述,Android系统则根据此Intent的描述,找到对应的组件,将Intent传递给组件,并完成组件之间的调用。因为Intent起着一个媒体中介的
阅读全文
posted @
2013-01-26 21:31
大大森林
阅读(235)
推荐(0)
【转载】Java的内存泄露
摘要:声明:本文转载自http://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak/版权和最终解释权给原作者所有,谢谢。问题的提出:Java的一个重要优点就是通过垃圾回收器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄露问题,或者认为即使存在内存泄露也不是程序的责任,而是GC或JVM的问题。其实这种想法是不正确的,因为Java也存在内存泄露,但是它的表现与C++不同。随着越来越多的服务器程序采用Java语言,例如JSP,Servlet,EJB等,服务
阅读全文
posted @
2013-01-19 22:43
大大森林
阅读(155)
推荐(0)
清理:终结处理和垃圾回收
摘要:程序员都了解初始化的重要性,但常常会忘记同样也重要的清理工作。在java中有垃圾回收器负责回收无用对象占据的内存资源,但是也有特殊的情况:假定你的对象(并非使用new)获得了一个“特殊”的内存区域,由于垃圾回收器只知道释放那些经由new分配的内存,所以它不知道该什么释放该对象的这块“特殊”内存。为了应对这种情况,java允许在类中定义一个名为finallize()的方法。它的工作原理“假定”是这样的:一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finallize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。这里有一个潜在的编程陷阱,因为有些程序员(特别是C+
阅读全文
posted @
2013-01-19 21:12
大大森林
阅读(182)
推荐(0)
【转载】Android中dip、dp、px、sp的区别
摘要:声明:本文转载自http://www.cnblogs.com/fbsk/archive/2011/10/17/2215539.html版权和最终解释权归原作者所有,谢谢。dip: device independent pixels(设备独立像素),不同设备有不同的显示效果,这个和设备硬件有关,一般为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖像素;这里特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候你的屏幕分辨率很大,如480*800,但是屏幕密度没有正确设置,比如说还是1
阅读全文
posted @
2013-01-14 23:10
大大森林
阅读(135)
推荐(0)
【转载】聊聊并发(四)——深入分析ConcurrentHashMap
摘要:声明:本文转载自http://www.infoq.com/cn/articles/java-se-16-synchronized版权和最终解释权归InfoQ和原作者所有,谢谢。术语定义术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。线程不安全的HashMap因为多线程环境下,使用HashMap进行put操
阅读全文
posted @
2013-01-13 13:22
大大森林
阅读(153)
推荐(0)
【转载】聊聊并发(三)——JAVA线程池的分析和使用
摘要:声明:本文转载自http://www.infoq.com/cn/articles/java-se-16-synchronized版权和最终解释权归InfoQ和原作者所有,谢谢。1. 引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。2. 线程池的使用线程池的创建我们可以通
阅读全文
posted @
2013-01-13 13:21
大大森林
阅读(150)
推荐(0)
【转载】聊聊并发(二)——Java SE1.6中的Synchronized
摘要:声明:本文转载自http://www.infoq.com/cn/articles/java-se-16-synchronized版权和最终解释权归InfoQ和原作者所有,谢谢。1 引言在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。2 术语定义术语英文说明CASCompare and Swap比较并设置。用于在硬件层面上提供原子性操
阅读全文
posted @
2013-01-13 13:20
大大森林
阅读(144)
推荐(0)
【转载】聊聊并发(一)——深入分析Volatile的实现原理
摘要:声明:本文转载自http://www.infoq.com/cn/articles/ftf-java-volatile版权和最终解释权归InfoQ和原作者所有,谢谢。引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通过深入分析能帮助我们正确的使用Volatile变量。
阅读全文
posted @
2013-01-13 13:19
大大森林
阅读(174)
推荐(0)