【问题标题】:Killing application (killProcess) blocked by DefaultHttpClient.execute execution杀死由 DefaultHttpClient.execute 执行阻止的应用程序 (killProcess)
【发布时间】:2012-07-02 22:43:53
【问题描述】:

我正在编写一个应用程序,它在启动时向服务器发送一条消息并等待响应。为了实现这一点,我使用了 DefaultHttpClient.execute 方法,并将响应时间设置为默认值。整个操作作为一个单独的线程触发,该线程设置为守护线程,因为我不希望当用户决定关闭应用程序过快(同时仍在等待服务器响应)时阻止应用程序。尽管如此,当我尝试通过 android.os.Process.killProcess 调用终止应用程序时,会有明显的延迟,我猜这与 DefaultHttpClient.execute 机制(不是守护线程执行?)有关。有没有办法在 killProcess 调用之后终止我的连接?

【问题讨论】:

  • 你为什么要杀死你的进程?这真的不是一件好事。
  • 这是在您按下退出按钮时执行的操作。我知道这不是一个好的做法,但知道这一点并且知道大多数用户更喜欢在游戏中实现此按钮,我有义务执行该操作。
  • 如果“大多数用户更喜欢在游戏中实现此按钮”,那么您的应用程序中存在错误,因此普通方法(例如,按 HOME)会给这些用户带来一些痛苦。也许,与其试图杀死你的进程,你应该首先确定如何解决让你的应用程序表现更好的问题。
  • 回答:在(AsyncTask 结合 HttpPost.abort 调用的使用)找到了完美的解决方案:stackoverflow.com/questions/7007731/…

标签: java android


【解决方案1】:

回答:在(AsyncTask 结合 HttpPost.abort 调用的使用)找到了完美的解决方案: How to cancel DefaulHttpClient execution process in multithread

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2022-01-03
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多