【问题标题】:UI freezes when I try to access a remote server. The activity references a service to access remote server当我尝试访问远程服务器时 UI 冻结。活动引用服务来访问远程服务器
【发布时间】:2018-02-21 13:50:21
【问题描述】:

我正在尝试从活动启动服务,并且该服务应该访问远程服务器。在活动中,我有一个动画来向用户指示后台有某种进展。我遇到的问题是动画变得静止,当用户等待响应时它会冻结。我已经尝试了一切,我是 不知道如何解决这个问题。

myActivity中的代码

Intent remoteService = new Intent(context, MyService.class);             
startService(remoteService);

【问题讨论】:

    标签: android multithreading service


    【解决方案1】:

    服务是一个没有 UI 的组件这一事实并不意味着它在后台线程上运行。

    如果您的 MyService 类扩展了 Service,那么它将在 UI 线程上运行,因此会阻塞活动/UI

    IntentService 是一个Service,它管理用于执行onHandleIntent 方法的后台线程,但不适合长时间运行的任务。

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多