Android:仅在销毁Activity时才关闭连接

时间:2011-07-03 05:02:50

标签: android orientation-changes

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

示例:

public class Main extends Activity 
{
   protected static MyConnector connector;

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

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

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

你会怎么做? THX!

1 个答案:

答案 0 :(得分:1)

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

检查Handling the Configuration Change Yourself(位于页面底部),了解如何使用onConfigChanged()

<强> onConfigChanged

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