一、Android应用程序的主线程主要用于更新UI界面,并且主线程不能做耗时操作,否则会引起ANR;这种情况下需要开一个子线程来进行耗时操作,动作完成之后,子线程发消息给主线程通知其更新UI显示,常见方法有:Activity.runOnUiThread(Runnable);View.post(Run...
分类:
移动开发 时间:
2015-07-30 19:07:02
阅读次数:
186
关于多线程多线程技术 —— 通过并发提高程序的整体性能。进程 - 应用程序,负责开辟一块内存区域,供应用程序执行每一个进程都默认有一个“主线程”线程 - 要执行的任务流当有耗时操作时,可能需要在后台新建一个子线程,来单独处理这些耗时的操作,待操作完成之后,再更新UI界面。如果不放在其他线程执行,会“...
分类:
编程语言 时间:
2015-07-05 18:31:52
阅读次数:
122
在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程。由于在iOS中除了主线程,其他子线程是独立于Cocoa Touch的,所以只有主线程可以更新UI界面(新版iOS中,使用其他线程更新UI可能也能成功,但是不推荐)。iOS中多线程使用并不复杂,关键是如何控制好各个线程...
分类:
移动开发 时间:
2015-05-22 15:08:10
阅读次数:
156
package com.jrhcode.morethreadtest;
import java.util.concurrent.Executors;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import andro...
分类:
移动开发 时间:
2015-05-21 17:25:03
阅读次数:
147
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理Andro...
分类:
移动开发 时间:
2015-04-30 17:50:44
阅读次数:
301
目录:Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理An...
分类:
移动开发 时间:
2015-04-30 17:39:13
阅读次数:
267
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理Andro...
分类:
移动开发 时间:
2015-04-30 17:34:40
阅读次数:
293
在上一篇(http://blog.csdn.net/xlgen157387/article/details/45269389)中介绍了使用Thread+Handler实现非UI线程更新UI界面的方法步骤,下边做一下如何同构AsyncTask异步任务来更新UI界面。(1)AsyncTask的介绍通过上图中的AsyncTask的源码结构图可以看到,主要用于重载的方法是doInBackground(),o...
分类:
移动开发 时间:
2015-04-25 13:44:18
阅读次数:
263
概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操作,则会报错:CalledFromWrongThreadException only the origi...
分类:
移动开发 时间:
2015-04-25 13:43:58
阅读次数:
324
在Android开发过程中,常需要更新界面的UI。比如网络请求操作、一些耗时操作都不能放在UI线程中运行的,需要放在子线程,而子线程又不能更新UI界面,这是我们需要引入一个Handler,消息处理机制。更新UI是要主线程(UI线程)来更新的,即UI线程更新。如果在主线线程之外的线程中直接更新页面显示常会报错。抛出异常:android.view.ViewRoot$CalledFromWrongThr...
分类:
移动开发 时间:
2015-02-21 09:44:56
阅读次数:
313