【问题标题】:Android: close connection only when Activity should be destroyedAndroid:仅在应销毁活动时关闭连接
【发布时间】:2011-07-03 05:02:50
【问题描述】:

我有一个在 onCreate 方法中连接服务器的 Activity。因为即使在旋转屏幕时连接也必须保持打开状态,所以我将其引用存储到静态变量。

例子:

public class Main extends Activity 
{
   protected static MyConnector connector;

   public void onCreate(Bundle savedInstanceState) 
   {
      if (connector == null)
      {
         connector = new MyConnector();
      }
   }
}

如果我从 Main 打开另一个活动,则连接必须保持打开状态,但如果我关闭 Main 活动,它应该关闭。

我遇到的问题是我不知道何时/如何关闭连接。如果我在 onDestroy 内关闭它,如果我旋转屏幕,它将被销毁,因为当方向改变时会重新创建活动。如果我在活动焦点上关闭它,它将在我进入下一个活动时关闭。所以...我只想在不需要 Main 活动时关闭它,并且我想永远销毁它。

你会怎么做?谢谢!

【问题讨论】:

    标签: android orientation-changes


    【解决方案1】:

    为什么不使用onConfigChanged() 在方向更改时保留您的活动。这样只有在用户退出 Activity 时才会调用 onDestroy()。

    查看Handling the Configuration Change Yourself(在页面底部)了解如何使用onConfigChanged()

    onConfigChanged

    “如果您的应用程序在特定配置更改期间不需要更新资源并且您有性能限制要求您避免 Activity 重启,那么您可以声明您的Activity 自己处理配置更改,这会阻止系统重新启动您的 Activity。”

    【讨论】:

    • 是的...我想过但是...如果您有多个对象怎么办。然后你必须以某种方式返回一个数组或smth。
    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    相关资源
    最近更新 更多