使用广播接收器或处理程序从服务我知道服务是在主线程上运行,所以为什么我们使用的广播接收器或处理程序更新的Android UI。我们可以直接更新UI,而无需在android中使用处理程序或广播接收器。我很困惑,请澄清一下这个讨论。UI更新而不在android系统
0
A
回答
0
更新UI,你需要有对视图的参考。您无法获得对服务中视图的引用。但是你可以做到这一点。这就是为什么你必须在服务中执行Activity来更新UI之前(因为服务本身没有UI)。
您可以将对用户界面的引用传递到服务中,但由于活动和服务生命周期可能会不同,并且可能导致内存泄漏,并且最终可能会导致服务锁定活动的死锁被GCed,并且活动锁定服务。
2
答:创建活动,注册您的广播接收器等瞧!
详情: 在你一个问题,你是指服务和处理程序,它可以在另一个线程启动。 - >处理程序用于进程间通信,当在UI线程之外运行的服务应该与UI线程交谈时。 - >服务是为长期处理案例而设计的。
在你一个问题,你是指广播接收机,它可以从服务中启动,或从活动。 - >如果您想用某些系统(和其他自定义)事件更新UI,您将始终需要广播接收器。 - >如果它只是捕获事件并更新一个字段,这不是一个漫长的过程。但是,如果是关于捕获和读取数据库,或访问Web服务(非常异步操作),这是一个漫长的过程。
相关问题
- 1. 更新android系统
- 2. 更新不是在android系统
- 3. Android操作系统更新系统
- 4. Android UI不更新
- 5. 解析JSON,而不在android系统
- 6. Android:计算并更新TextView而不挂UI UI
- 7. Android更新UI
- 8. android - TextView不会在UI中更新
- 9. 在Android中更新UI
- 10. Android Facebook更新UI
- 11. UIProgressView只更新值而不是UI
- 12. 黑屏,而从符在android系统
- 13. 在android系统不工作
- 14. 处理程序不刷新android系统
- 15. UI不更新
- 16. 在android系统
- 17. 在android系统
- 18. 在android系统
- 19. 在android系统
- 20. 在android系统
- 21. 在android系统
- 22. 在android系统
- 23. 在android系统
- 24. 在android系统
- 25. 在android系统
- 26. 在android系统
- 27. 在android系统
- 28. 在android系统
- 29. 在android系统
- 30. 在android系统
regullar services是什么意思?任何服务的例子都在主线程上运行? –
@chetanmekha,任何不是特别的服务。任何示例,从“服务”扩展。 –