gpt4 book ai didi

java - 我想从我的服务启动线程,这样操作就不会在 android 的主线程中运行

转载 作者:行者123 更新时间:2023-11-30 03:01:14 25 4
gpt4 key购买 nike

我使用了以下代码及其工作原理,但想知道这真的是一种有效的方法吗?

public class BackgroundService extends Service 
{
Runner runner;

@Override
public IBinder onBind(Intent arg0) {
return null;
}

@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this,"Service created ...", Toast.LENGTH_LONG).show();
}

@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
//stopSelf();
}

@Override
public int onStartCommand (Intent intent, int flags, int startId){

try{
Toast.makeText(this,"Service started ...", Toast.LENGTH_LONG).show();
runner = new Runner();
runner.start();

}catch(Exception localException){}
return START_REDELIVER_INTENT;
}
}

public class Runner extends Thread {

@Override
public void run(){
try
{
//code to run actual task
}catch(Exception localException){}
}
}

最佳答案

这是如何在 android 中进行一些后台处理的方法之一。还有一些像

在 android 中执行异步操作的正确方法取决于要执行的工作类型。如果你经常做一些事情,你就可以像以前一样简单地创建服务。

如果你想运行一些更小的一次性任务,你可以创建 Handler 或 AsyncTask。

正如我所说,这取决于您想在后台执行的工作类型。

关于java - 我想从我的服务启动线程,这样操作就不会在 android 的主线程中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com