我想在Android中为每个按钮启动的每个活动创建一个单独的线程。可能吗?怎么可能呢?
这是一段代码,我想在其中为每个目的插入线程我想在Android中为每个按钮启动的每个活动创建一个单独的线程。可能吗?怎么可能呢?,android,multithreading,button,android-activity,Android,Multithreading,Button,Android Activity,这是一段代码,我想在其中为每个目的插入线程 首先,您不应该从单独的线程执行此类操作,您应该始终从主线程执行UI操作(并且您的onClick方法在主线程上执行)或者(如果您使用单独的线程)-将此函数包装在runOnUIThread调用中,它将导致在主线程上执行startActivity/startActivityForResult。你知道为什么你需要一个单独的线程吗?startActivity/startActivityForResult是异步调用,因此它们不会阻止您的代码。所有活动都在单个主线程
首先,您不应该从单独的线程执行此类操作,您应该始终从主线程执行UI操作(并且您的onClick方法在主线程上执行)或者(如果您使用单独的线程)-将此函数包装在runOnUIThread调用中,它将导致在主线程上执行startActivity/startActivityForResult。你知道为什么你需要一个单独的线程吗?startActivity/startActivityForResult是异步调用,因此它们不会阻止您的代码。所有活动都在单个主线程上运行,该线程由系统而不是您设置。但是,您可以在活动中自由创建自己的线程并在其中运行一些代码。当
Android
执行您的程序时,您将从一个线程开始,即UI线程。这是唯一一个可以与android系统服务通信的应用程序,告诉你它应该做什么,什么时候做,如何做
当您创建一个新的活动时,您不会创建一个新的线程,您只需添加到现有的线程上
有时我们需要运行可能需要很长时间才能执行的操作,并且需要在单独的线程上操作,我们可以这样做:
new Thread(){
public void run(){
while(true){
//do stuff
}
}
}.start();
线程将单独运行,不会导致应用程序出错
此线程将继续运行,直到它因完成任务而终止,或被终止,但是,如果启动新活动,您可能会失去对它的访问,或错过回调,有时您需要一个线程运行一段时间,并在整个系统中访问它,这是它的最佳用途,也是您的问题,听起来您想使用服务
服务是一个应用程序组件,表示应用程序希望执行更长时间运行的操作
new Thread(){
public void run(){
while(true){
//do stuff
}
}
}.start();