And*_*rew 19 service multithreading android
假设我的服务的onStart()处理程序中有代码来启动线程来执行某些操作然后调用stopSelf().
在线程完成之前调用stopSelf().究竟发生了什么?
我自己测试了这个,我的线程继续执行直到它完成.Android是否听到了stopSelf()调用,但推迟了它直到线程完成?
@Override
public void onStart(Intent intent, int startid) {
new Thread(new Runnable() {
public void run() {
// TODO some long running operation
}
}).start();
stopSelf();
}
Run Code Online (Sandbox Code Playgroud)
Com*_*are 21
在线程完成之前调用stopSelf().究竟发生了什么?
线程运行完成.
Android是否听到了stopSelf()调用,但推迟了它直到线程完成?
不,你Service的stopSelf()通话时仍然被摧毁.你只是泄漏一个线程和Service对象,至少在线程终止之前.
您可能希望切换到IntentService,因为它集成了后台线程和stopSelf()模式.
| 归档时间: |
|
| 查看次数: |
14798 次 |
| 最近记录: |