APP下载

浅析安卓开发中的多线程

2016-10-21张旭辉

电子技术与软件工程 2016年9期

张旭辉

【关键词】多线程 消息 AsyncTask类

1 引言

随着移动平台走入人们的视野,移动平台的开发越来越为大家所熟悉,而多线程作为安卓开发中非常重要部分,在很多应用程序都是不可或缺的。

2 线程的概念

2.1 进程与线程

进程的概念想必大家都比较熟悉,一个进程就是一个执行中的程序,而每一个进程都有自己独立的内存空间、系统资源,每一个进程的内部数据和状态都是完全独立的。

与进程相同的是,线程也是一段具有某个特定功能的代码,是单个顺序的流控制。但不同的是,同类的多个线程共享内存空间和系统资源,所以系统在线程之间切换时,占用资源比进程小,因此线程也被称为轻量级进程。

多线程指的是在单个程序中可以同时运行多个不同的线程,以执行不同的功能。这使得一个程序的多行语句看上去好像在同时运行。

2.2 实现线程的两种方式

当一个安卓程序第一次启动时,会默认启动一个主线程,在主线程中主要负责处理与UI相关的事件,包括屏幕绘制、事件响应等,并把相关的事件分发到对应的组件进行处理。因此主线程通常又被叫做UI线程。

在Java中若想新增线程主要通过两种方式:一是继承Thread类,一是实现Runnable接口,无论是哪种方式,都将实现线程的核心方法run,通常将需要线程处理的事情都放在run方法中,当启动线程时会自动调用run方法。

3 安卓开发中的多线程

3.1 Thread+Handler+Message结构

我们以实现Runnable接口的方式定义线程类,代码如下。

执行如上代码时并不能实现我们想要的效果,反而会发生异常使程序崩溃退出。……

登录APP查看全文