摘要: 自己开的线程并不会自动随Activity的destroy而关闭,所以必须手动去关闭自己开的线程或者通过boolean的方式让自己开的线程结束运行。自己开的线程有for循环的要更加注意。 阅读全文
posted @ 2016-07-20 23:32 灰色有点白 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 看下源码就很清楚了,view.post(Runnable)内部实际还是使用的handler.post(Runnable),而这个方法,内部会执行下面的方法,从而把Runnable设置为Message.callback,实际上相当于handler.sendMessage(),只是发送了一个消息,pri 阅读全文
posted @ 2016-07-20 23:26 灰色有点白 阅读(7120) 评论(0) 推荐(0) 编辑
摘要: Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响 阅读全文
posted @ 2016-07-20 23:08 灰色有点白 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 各种不同的理解 1 将方法或类声明为final主要目的是:确保它们不会再子类中改变语义。String类是final类,这意味着不允许任何人定义String的子类。换言之,如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象。——《Java核心技术 卷I》 2 举个 阅读全文
posted @ 2016-07-20 22:55 灰色有点白 阅读(3034) 评论(0) 推荐(0) 编辑
摘要: 1、直接使用new语句 调用类的构造器来实例化对象。 2、利用反射机制 通过java.lang.Class或java.lang.reflect.Constructor的newInstance()方法来间接的调用构造器。 3、克隆对象的方式 Object类里面有一个clone方法,重写这个方法实现克隆 阅读全文
posted @ 2016-07-20 22:47 灰色有点白 阅读(820) 评论(0) 推荐(0) 编辑
摘要: String和StringBuilder、StringBuffer的区别? Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们可以储存和操作字符串。其中String是只读字符串,也就意味着String引用的字符串内容是不能被改变的。而Stri 阅读全文
posted @ 2016-07-20 22:44 灰色有点白 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1:通过每个对象都具备的方法getClass来获取。弊端:必须要创建该类对象,才可以调用getClass方法。 2:每一个数据类型(基本数据类型和引用数据类型)都有一个静态的属性class。弊端:必须要先明确该类。 前两种方式不利于程序的扩展,因为都需要在程序使用具体的类来完成。 3:使用的Clas 阅读全文
posted @ 2016-07-20 22:39 灰色有点白 阅读(2044) 评论(0) 推荐(0) 编辑
摘要: 这样的解释似乎还是比较难懂,这里举个简单的例子,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址,但在JAVA中 阅读全文
posted @ 2016-07-20 22:29 灰色有点白 阅读(196) 评论(0) 推荐(0) 编辑