在一个线程中执行一段特定的代码
这一课向你展示了如何通过实现 Runnable接口得到一个能在重写的方法中执行一段代码的单独的线程。另外你可以传递一个Runnable对象到另一个对象,然后这个对象可以把它附加到一个线程,并执行它。一个或多个执行特定操作的对象有时也被称为一个任务。
直接了当的方法是通过实现Runnable接口去定义一个线程类。例如:
实现run()方法
在Runnable.run())方法的开始的地方通过调用参数为
的Process.setThreadPriority()方法来设置线程使用的是后台运行优先级。
这个方法减少了通过创建的线程和和UI线程之间的资源竞争。
下面这段代码展示了如何创建run()方法:
class PhotoDecodeRunnable implements Runnable {
...
/*
* 定义要在这个任务中执行的代码
@Override
public void run() {
// 把当前的线程变成后台执行的线程
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
...
*/
mPhotoTask.setImageDecodeThread(Thread.currentThread());
...
}
}