浅析安卓开发中的多线程
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查看全文
