读书人

请问:Service执行while(True)安全规范

发布时间: 2013-09-14 13:03:22 作者: rapoo

请教:Service执行while(True)安全规范吗?
最近学习android的时候,看到有个说明,Service不能执行耗时操作,但是我测试的时候好像可以用while(true)死循环的,请教一下,Service执行while(True)安全规范吗?while(true)循环监听。
[解决办法]
可以起个线程来循环监听啊
[解决办法]
死循环和耗时操作是两码事
死循环只是说你一直在运行 但是都是可以立即响应的 不会影响用户体验
但是耗时不一样 比如你网络链接 很多操作是阻塞的 这样你在主线程(service就在主线程)有了用户交互 却得不到响应 这样就会出现问题

如果需要做耗时操作 可以使用IntentService 自带线程的 不用继承Service自己开线程
[解决办法]
楼主 注意
如果你用intentservice 做 while(true) 必须知道 intentsercice是 排队方式进行的上一个任务不结束 他不会执行下一个 也就是这个while 中没有结束 下面的就会永远的等待
[解决办法]

引用:
@wlcw16,@tanwei4199:
以下任务:
while(true)
{
socket.accept;
newthread;
}
是在IntentService中好一些还是新建一个线程好一些?

@貌似没用
像这种自己启动线程会方便些 因为你的功能比较单一 没必要使用IntentService
不过你可以用用

读书人网 >Android

热点推荐