前言 在上一篇文章中《Android:异步处理之Handler+Thread的应用(一)》,我们知道Android的UI主线程主要负责处理用户的按键事件、用户的触屏事件以及屏幕绘图事件等;既然UI老人家都这么忙了,我们这些开发者肯定不能不识趣的去添乱阻塞UI线程什么的,否则UI界面万一停止响应了呢....
分类:
移动开发 时间:
2014-11-07 00:51:43
阅读次数:
263
AsyncTask运行时经过四个步骤,运行四个方法: 1.onPreExecute(),执行在UI线程,能够设置或改动UI控件,如显示一个进度条 2.doInBackground,执行在后台线程,不能够设置或改动UI控件,该方法的执行时机是: onPreExecute()运行完成马上调用该方法,在方...
分类:
移动开发 时间:
2014-11-06 10:53:18
阅读次数:
227
项目中需要用到大计算量 耗时的js运算。js是单线程模型 ,优点是异步操作,对于nodejs来说可以处理高并发的任务。 但对密集型的cpu运算,异步解决不了问题,正确的来说还是该新开个线程处理。对前端开发来说 执行大计算量 耗时的js运算 不仅会阻塞ui线程 从而导致浏览器进入僵死状态,崩溃,同时部...
分类:
Web程序 时间:
2014-11-06 07:03:15
阅读次数:
253
最近项目发现个重大问题,结果打log跟踪查是AsyncTask导致的。如果对AsyncTask了解的不够深入透彻,那写代码就是埋雷。以后不定在哪个时间爆炸。首先我们要了解,谷歌为什么发明AsyncTask,AsyncTask到底是用来解决什么问题的?Android有一个原则---单线程模型的原则:UI操作并不是线程安全的并且这些操作必须在UI线程中执行。 在单线程模型中始终要记住两条法则: 1. ...
分类:
移动开发 时间:
2014-11-05 21:35:47
阅读次数:
176
这三种方式的设计目的是不同的。Service: 适用于在后台长期持续运行的动作,如:播放音乐,查看网络数据。注意,在开发文档中,service本身是在UI线程中,所以所需的操作应该创建一个新的线程来完成工作。AsyncTask:主要用于防止阻塞UI线程的一次性/短暂动作。例如:点击button后获取...
分类:
移动开发 时间:
2014-11-05 14:38:14
阅读次数:
133
多线程处理Bitmaps
上一篇,我们讨论了:Android有效的处理Bitmap,减少内存 ,但是最好不要执行在主线程(UI线程),如果图片是本地的或者网络的又或者是其他地方的。图片加载的时间和许多因素有关(比如从网络或本地读取速度,图片的大小,CPU的能力),如果这些任务阻塞了UI线程,系统有可能会回收并关闭它(see Designing
for Responsivene...
分类:
编程语言 时间:
2014-11-05 10:57:16
阅读次数:
226
很多时候我们需要对每个组件或者所有的UI线程要去负责View的创建并且维护它,例如更新冒个TextView的显示,都必须在主
线程中去做,我们不能直接在UI线程中去创建子线程,要利用消息机制:handler
本篇博客将带大家走进我们熟悉的Handler,顺带写了一个例子来验证Handler的消息机制,Handler通过对子线程的处理,实
现对UI的更新等操作
private TextVie...
分类:
移动开发 时间:
2014-11-05 09:21:26
阅读次数:
172
Android L平台在图形渲染方面有一项重要的改进,它引入了一个专门的线程用于执行渲染工作,UI线程负责生成的显示列表(DisplayList),渲染线程负责重放(playback)这个显示列表绘制最终的内容,因此Chromium WebView在图形栈的实现方面也作了相应的调整,以支持Android L系统上新的渲染线程模型。本文将深度分析Chromium WebView的渲染流水线是如何无缝整合到Android L系统的渲染模型中,以及对目前市场主流浏览器厂商将会产生什么样影响等问题。此外,本文对Ch...
分类:
移动开发 时间:
2014-11-05 00:27:02
阅读次数:
362
[java] view plaincopyprint?publicvoidshowToast(Stringmsg){Looper.prepare();Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_SHORT).show();Loope...
分类:
移动开发 时间:
2014-11-03 12:48:51
阅读次数:
158
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式须要为每个任务创建一个新的线程,任务完毕后通过Handler实例向UI线程发送消息,完毕界面的更新,这样的方式对于整个过程的控制比較精细,但也是有缺点的,比如代码相对臃肿,在多个任务同一时候运行时,不...
分类:
移动开发 时间:
2014-11-03 12:44:04
阅读次数:
282