摘要: Looper用于封装了android线程中的消息循环,默认情况下一个线程是不存在消息循环(message loop)的,需要调用Looper.prepare()来给线程创建一个消息循环,调用Looper.loop()来使消息循环起作用,从消息队列里取消息,处理消息。 注:写在Looper.loop()之后的代码不会被立即执行,当调用后mHandler.getLooper().quit()后,loop才会中止,其后的代码才能得以运行。Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。 以下是Android API中的. 阅读全文
posted @ 2013-11-24 18:47 brave-sailor 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在android线程中进行消息处理。handler其实可以看做是一个工具类,用来向消息队列中插入消息的。 (1) Looper类用来为一个线程开启一个消息循环。 默认情况下android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环。) Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper进行交互的。Handler可看做是Loop... 阅读全文
posted @ 2013-11-24 18:37 brave-sailor 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 在java的线程Thread类中有三个方法,比较容易混淆,在这里解释一下 (1)interrupt:置线程的中断状态 (2)isInterrupt:线程是否中断 (3)interrupted:返回线程的上次的中断状态,并清除中断状态 举个例子:[java] view plaincopyprint?用法:classMyThreadextendsThread{............publicvoidrun(){try{while(!Thread.currentThread().isInterrupted()){//当达到队列容量时,在这里会阻塞//put的内部会调用LockSupport.pa 阅读全文
posted @ 2013-11-24 18:32 brave-sailor 阅读(1370) 评论(0) 推荐(0) 编辑
摘要: 首先介绍一下中断概念:举个例子容易理解一点例子:假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理”。interrupt:中断线程如果当前线程没有中断它自己(这在任何情况下都是允许的),则该线程的 checkAccess 方法就会被调用,这可能抛出 SecurityException。如果线程在调用 阅读全文
posted @ 2013-11-24 18:31 brave-sailor 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 用到ExpandableListView时有个箭头图标系统自带的在你自定义布局也不能去掉只要设置一个属性即可,如下: settingLists.setGroupIndicator(null); ~~~~~~~~~~~~~~~~~此处就是设置自定义的箭头图标的。置空则没有了。也可以自定义(但是位置还是在那个地方不推荐)如下:首先,自定义一个expandablelistviewselector.xml文件,具体内容如下: Java代码 加一句代码如下:settingLists.setGroupIndicator(this.getResources().getDrawable(R.layout.ex 阅读全文
posted @ 2013-11-24 18:11 brave-sailor 阅读(417) 评论(0) 推荐(0) 编辑