背景:我们开发应用程序的时候,处于线程安全的原因子线程通常是不能直接更新主线程(UI线程)中的UI元素的,那么在Android开发中有几种方法解决这个问题,其中方法之一就是利用Handler处理的。下面说下有关Handler相关的知识。多线程一些基础知识回顾:在介绍Handler类相关知识之前,我们...
分类:
移动开发 时间:
2014-07-13 09:54:54
阅读次数:
258
前面几篇通过源码分析了Volley是怎样进行请求调度及请求是如何被实际执行的,这篇最后来看下请求结果是如何交付给请求者的(一般是Android的UI主线程)。类图:请求结果的交付是通过ResponseDelivery接口完成的,它有一个实现类ExecutorDelivery, 主要有postResp...
分类:
移动开发 时间:
2014-07-06 18:55:46
阅读次数:
186
我的问题是这样,我的页面上有一个UIScrollView和一个定时器用来记录当前考试模式下的剩余时间,问题出现了:当我滑动滚动试图时,定时器的方法便不在运行(即被UI主线程阻塞)。google一下找到了解决办法:将定时器放在非主线程中执行将更新UI的操作放到主线程,这样UI主线程和定时器就能互不干扰的相互工作了。
在另一个项目中,还解决了一个问题:手机验证码,获取按钮,点击获取后,会开始倒计...
分类:
移动开发 时间:
2014-06-07 16:29:46
阅读次数:
655
用Soundpool可以播一些短的反应速度要求高的声音, 比如游戏中的爆破声,
而Mediaplayer适合播放长点的。 MediaRecorder主要用来录音。
SoundPool载入音乐文件使用了独立的线程,不会阻塞UI主线程的操作。
但是这里如果音效文件过大没有载入完成,我们调用play方法时可能产生严重的后果,
这里AndroidSDK提供了一个SoundPool.OnLoad...
分类:
移动开发 时间:
2014-05-18 03:50:39
阅读次数:
424
项目中使用的SingleMessageView,控件实例化后,点击用户头像,此时跳转到UserInfo里查看这个用户的头像、用户名、签名、标签。之前,师兄在SingleMessage里写了个头像的点击响应,点击用户头像,把用户的用户名通过intent传给UserInfo,同时执行想服务器获取这...
分类:
编程语言 时间:
2014-05-11 15:41:58
阅读次数:
836
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
优点:
简单,快捷
l 过程可控
使用的缺点:
l 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.
Handler异步实现的原理和适用的优缺点...
分类:
移动开发 时间:
2014-04-27 18:26:21
阅读次数:
745