Dev*_*hts 3 android intentservice
我不太可能遇到任何可能存在的屋顶,但我可能会向IntentService发送大量意图.
我很想知道你可以发送给IntentService的Intents数量是否有上限?队列有大小限制吗?我在文档中找不到任何关于此的内容.
提前致谢
tl;博士号
来自android源码(API 19):
看起来它IntentService只是使用常规Looper并Handler绑定到一个线程.
当您使用新意图调用intent服务的start时,它只是将意图作为消息发送给处理程序.
@Override
public void onStart(Intent intent, int startId) {
Message msg = mServiceHandler.obtainMessage();
msg.arg1 = startId;
msg.obj = intent;
mServiceHandler.sendMessage(msg);
}
Run Code Online (Sandbox Code Playgroud)
处理程序:
private final class ServiceHandler extends Handler {
public ServiceHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
onHandleIntent((Intent)msg.obj);
stopSelf(msg.arg1);
}
}
Run Code Online (Sandbox Code Playgroud)
在Looper该Handler用途有一个MessageQueue不具有可以添加到它的项目的最大数量.
| 归档时间: |
|
| 查看次数: |
1893 次 |
| 最近记录: |