android - 在 Android 中做消息 block

标签 android

我正在编写一个从 rest 接口(interface)加载数据的应用程序。 对于这个任务,我使用了一个被 Activity 调用的服务。这些调用基于“消息”。我这样做是因为我认为仅发送一条消息不会导致 UI 线程阻塞(我使用了来自 android 文档的大部分 RemoteService 示例代码)。但是感觉如果发送消息的 UI 线程仍然被阻塞(ui 直到程序流停止更新,由消息引起)。

我对消息系统的整个想法有什么误解吗?我是否需要在单独的线程中启动服务来解决这个问题?!

最佳答案

使用处理程序发送消息不会阻塞,具体取决于您使用它做什么。如果您向服务发送消息,然后立即在服务器中发送 http 请求,那么它将被阻止。如果您发送一条消息,然后让该服务在操作栏中简单地发布一个通知,那么它就不会阻止。

服务在主 UI 线程上运行。它们不在后台运行,因此您在服务中执行的任何操作都将在 UI 线程上运行,如果服务执行大量工作,则可以阻止它。

关于android - 在 Android 中做消息 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7320754/

相关文章:

android - 更新 mm :ss from a playing MP3 file 的有效方法

java - 如果单击或未单击按钮,则制作按钮方法

android sqlite 获取当天有效的行

android - Honeycomb ActionBar & 电话应用程序

android - 有没有办法在 API 25 中引入的 Google 官方 BottomNavigationView 菜单项上显示通知徽章?

android - AccessibilityService:是否可以用鼠标在远程智能手机屏幕上绘制密码?

android - ListView 内的 Horizo​​ntalScrollView : minor vertical scroll stops horizontal scroll

java - 了解 java.lang.StringIndexOutOfBoundsException : length=X; regionStart=Y; regionLength=Z

android - View 类中的 Hashcode() 和 equals() 实现

java - Android的 View 可以用JAVA命名吗?