最近学习android的时候,看到有个说明,Service不能执行耗时操作,但是我测试的时候好像可以用while(true)死循环的,请教一下,Service执行while(True)安全规范吗?while(true)循环监听。
解决方案 »
- ListView中的CheckTextView无法选中
- Android 4.0.4 开启前置摄像头失败??
- 如何从一个普通activity跳转到MapActivity
- Activity中的onPause(),onStart(),onDestory()方法主要是做什么用的?
- 在android里实现变声
- android解锁软件的锁定解锁屏幕的代码
- 为什么AVD只能运行一次
- view中如何用代码动态添加图像按钮
- 求助!图片涂鸦功能
- 两个activity 跳转中间用进度条。android
- 高分跪求在游戏类 (SurfaceView) 里切入 admob广告用例(100分)
- 启动一个程序,延迟2秒进去,跳过LOGO
死循环只是说你一直在运行 但是都是可以立即响应的 不会影响用户体验
但是耗时不一样 比如你网络链接 很多操作是阻塞的 这样你在主线程(service就在主线程)有了用户交互 却得不到响应 这样就会出现问题如果需要做耗时操作 可以使用IntentService 自带线程的 不用继承Service自己开线程
以下任务:
while(true)
{
socket.accept;
newthread;
}
是在IntentService中好一些还是新建一个线程好一些?
如果你用intentservice 做 while(true) 必须知道 intentsercice是 排队方式进行的上一个任务不结束 他不会执行下一个 也就是这个while 中没有结束 下面的就会永远的等待
像这种自己启动线程会方便些 因为你的功能比较单一 没必要使用IntentService
不过你可以用用