最近项目发现个重大问题,结果打log跟踪查是AsyncTask导致的。如果对AsyncTask了解的不够深入透彻,那写代码就是埋雷。以后不定在哪个时间爆炸。首先我们要了解,谷歌为什么发明AsyncTask,AsyncTask到底是用来解决什么问题的?Android有一个原则---单线程模型的原则:UI操作并不是线程安全的并且这些操作必须在UI线程中执行。 在单线程模型中始终要记住两条法则: 1. ...
分类:
移动开发 时间:
2014-11-05 21:35:47
阅读次数:
176
public class AsyncTaskTest extends Activity{ private TextView show; @Override public void onCreate(Bundle savedInstanceState) { sup...
分类:
移动开发 时间:
2014-11-05 12:39:05
阅读次数:
189
前言 很久很久以前就听说了,每一个android的应用程序都会分别运行在一个独立的dalvik虚拟机进程中,而在每个虚拟机在启动时会运行一个UI主线程(Main Thread),而为啥叫UI主线程而不是AI主线程或者是BI主线程呢?因为它要处理全部和UI相关的事件;因为Android系统采用的是U....
分类:
移动开发 时间:
2014-11-05 01:53:26
阅读次数:
296
1. Android异步任务处理 在程序开启后,就会有一个主线程,负责与用户交互。如果在主线程中执行了耗时操作,那么界面就会停止响应,所以要将耗时操作转移到别的线程中。 AsyncTask的用法,包括传入参数、设定后台任务、过程信息的处理等。 下面代码的作用是:点击Button后,创建线程每隔...
分类:
移动开发 时间:
2014-11-04 10:37:39
阅读次数:
218
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38476887,本文出自【张鸿洋的博客】最近创建了一个群,方便大家交流,群号:55032675上一篇博客介绍了Android异步消息处理机制,如果你还不了解,可以看:Android ...
分类:
移动开发 时间:
2014-11-03 14:33:27
阅读次数:
205
在之前一篇介绍AsyncTask的文章中,我们在最后讲到,AsyncTask是利用Handler的消息异步处理机制,将操作结果,利用Message传回主线程,从而进行UI线程的更新的。
而在我们日常的开发工作中,Handler也是我们经常使用的类之一,那么Handler的主要作用是什么?
Handler 的主要作用就是对消息(消息可以是我们想做的一些UI更新,也可以是其他的一些不可见的操作,如操作数据库等)的异步处理机制,而相信大家都了解异步的概念。
简单地说一下:
1)从程序的角度来看,就是当执行某行代码...
分类:
移动开发 时间:
2014-10-27 17:50:51
阅读次数:
248
刚开始是从otto入手,但是otto不支持异步执行,所以后来才开始研究了Event Bus。关于Event Bus,先前搜索的时候,看到网上的实例,很碎,而且很多都是一样的内容,代码看下来基本上是分2套写法,这就带来了疑问,后来再仔细浏览原先的帖子发现了Event Bus有2套源码,一个是greenrobot的Event Bus,一个是google的guava Event Bus。今天谈论的并不是...
分类:
移动开发 时间:
2014-10-27 15:39:06
阅读次数:
422
在android应用开发的时候,加载网络图片是一个非常重要的部分,很多图片不可能放在本地,所以就必须要从服务器或者网络读取图片。软引用是一个现在非常流行的方法,用户体验比较好,不用每次都需要从网络下载图片,如果下载后就存到本地,下次读取时首先查看本地有没有,如果没有再从网络读取。记得2月份在和爱奇艺...
分类:
移动开发 时间:
2014-10-24 18:22:18
阅读次数:
184
转载请注明出处http://blog.csdn.net/xiaanming/article/details/9825113 异步加载图片的例子,网上也比较多,大部分用了HashMap<String, SoftReference<Drawable>> imageCache ,但是现在已经不再推荐使用这种方...
分类:
移动开发 时间:
2014-10-23 10:51:58
阅读次数:
372