当点击一个cell或者按钮的事件,处理比较耗时,在异步线程中运行中,当子线程得到运行结果时可能不在当前控制器上了。此时我们需要取消子线程后边的事情。
此刻,当得到结果时需要判断是否在当前控制器上。判断方法如下:
-(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController
{
return (viewCont...
分类:
移动开发 时间:
2015-08-18 19:40:09
阅读次数:
194
AsyncTask 异步处理
解决的问题:在子线程中,有的时候也需要多次动态更新UI,此时,除了使用Handler之外,用AsyncTask也是一种相对比较简洁的方式:AsyncTask 是一个抽象类,用来被继承的。
1.三个参数
Params 启动任务执行输入参数的类型
Progress 后台任务完成...
分类:
其他好文 时间:
2015-08-16 18:26:32
阅读次数:
109
线程同步、异步的概念: 1)多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程处理的数据,而B线程又修改了A线程处理的数据,显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,...
分类:
编程语言 时间:
2015-08-15 16:21:59
阅读次数:
118
1.不要同时开太多的线程(1~3条线程即可,不要超过5条) 2.线程概念 1> 主线程 : UI线程,显示、刷新UI界面,处理UI控件的事件 2> 子线程 : 后台线程,异步线程 3.不要把耗时的操作放在主线程,要放在子线程中执...
分类:
移动开发 时间:
2015-08-11 01:48:24
阅读次数:
176
首先async是跟安卓中自带的AsyncTask很像,不过它更简单...
分类:
移动开发 时间:
2015-08-08 21:26:53
阅读次数:
1658
开发Android应用经常需要处理图片的加载问题。因为图片一般都是存放在服务器端,需要联网去加载,而这又是一个比较耗时的过程,所以Android中都是通过开启一个异步线程去加载。为了增加用户体验,给用户省流量,一般把加载完的图片先缓存下来,下次加载的时候就不需要再联网去服务器端加载。图片缓存一般分为...
分类:
移动开发 时间:
2015-08-04 14:54:28
阅读次数:
217
示例程序中,用异步线程判断用户名、密码是否正确,并显示在界面上。 1 protected void button1_Click(object sender,EventArgs e) 2 { 3 //用户名、密码 4 ...
分类:
其他好文 时间:
2015-08-03 19:00:46
阅读次数:
144
最近在做公司的一个项目模块时要用到相机,由于采用了以前的代码在UI线程中操作相机时,经常会碰到程序ANR的情况,后来索性一狠心改,翻看google的官方文档说明,官方是建议用异步线程对camera 进行操作,后来改用异步任务操作camera :/**
* 打开相机工具类,放在线程中执行,防止阻塞主线程
* @author hopehe
*/
public class OpenCameraWo...
分类:
其他好文 时间:
2015-07-30 21:28:40
阅读次数:
489
关键字:Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
相信大家平时都有使用到异步线程往主线程(UI线程)发送消息的情况。本文主要研究Handler的消息发送。包括主线程往子线程发送消息,子线程之间互相发送消息。
一、主线程向子线程发送消息。
实现过程比较简单:
主线程发送消息到异步线程,异步线程...
分类:
移动开发 时间:
2015-07-26 21:02:15
阅读次数:
123