- 博客(5)
- 收藏
- 关注
原创 java适配器模式的简单理解
对于适配器模式,简单的一句话就是,它是一种将一个接口转成另一个接口的设计。类图:《Head First 设计模式》书中举的鸭子和火鸡的例子已经很好说明问题(这书很好大家快去看),此文换一种说法来更好的简单去理解,这里也举一个简单例子。现在有两个接口,一个是胖子,一个是瘦子: public interface Fatty{ public void hitOtherPe
2016-10-04 11:48:19
959
2
原创 static关键字所导致的内存泄漏问题
大家都知道内存泄漏和内存溢出是不一样的,内存泄漏所导致的越来越多的内存得不到回收的时候,最终就有可能导致内存溢出,下面说一下使用static属性所导致的内存泄漏的问题。在dalvik虚拟机中,static变量所指向的内存引用,如果不把它设置为null,GC是永远不会回收这个对象的,所以就有了以下情况:public class SecondActivity extends Activity{
2016-09-23 20:48:19
17410
4
原创 事件分发解惑
当手指触摸屏幕的时候,首先事件来到Activity的dispatchTouchEvent方法,看下源码里的这个方法: public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { onUserInteraction
2016-09-12 21:12:13
350
原创 来自定义一个矩形的进度条
接下来我们通过一个矩形进度条来学习一下onMeasure和onDraw方法应该怎么写: 这个矩形进度条选择直接继承自View,如果我们对控件的宽高没有要求,onMeasure方法其实就可以不用重写,但是现在我有一个需求,在设置控件的LayoutParams的宽高时,取较大的一项作为边长画正方形 ,这时应该怎么做呢? 比如android:layout_width="60dp" andr
2016-08-25 21:52:11
1646
原创 简单理解View的onMeasure过程
View的绘制需要经过Measure、Layout、Draw这三个流程。很多朋友在自定义View的时候,特别是对Measure过程不能十分理解,这里结合Android的一些源码和资料来简单说明。 首先来看一下View的measure方法: public final void measure(int widthMeasureSpec, int heightMeasureSpec) {
2016-08-16 15:45:51
1883
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人