2011-07-03 3 views
0

onCreate 메서드 내에서 서버를 연결하는 Activity가 있습니다. 내가 정적 변수에 대한 참조를 저장 화면을 회전하더라도 연결이 열려 있어야합니다.안드로이드 : 액티비티를 파괴해야하는 경우에만 연결

예 :

public class Main extends Activity 
{ 
    protected static MyConnector connector; 

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

연결이 내가 홈페이지에서 다른 활동을 열면 열어 두어야하지만 기본 활동을 닫으면이 폐쇄되어야한다.

문제는 내가 언제/어떻게 연결을 닫을 지 모른다는 것입니다. onDestroy 내에서 닫으면 화면이 회전 할 때 활동이 다시 작성되므로 화면을 회전하면 화면이 닫힙니다. 활동 초점을 닫으면 다음 활동으로 갈 때 닫힙니다. 그래서 ... 나는 주된 활동이 필요하지 않을 때만 그것을 닫고 싶습니다. 나는 그것을 영원히 파괴하고 싶습니다.

어떻게 하시겠습니까? 고마워!

답변

1

오리엔테이션이 변경되면 활동을 유지하는 데 onConfigChanged()을 사용하지 않는 이유는 무엇입니까? 이 방법으로 onDestroy()는 사용자가 Activity를 종료 할 때만 호출됩니다.

onConfigChanged() 사용 방법은 페이지 하단의 Handling the Configuration Change Yourself을 확인하십시오. 응용 프로그램은 당신이를 다시 시작 활동을 방지하기 위해 당신을 필요로하는 성능 제한이 특정 구성 변경시 자원을 업데이트 할 필요가없는 경우

을 onConfigChanged ", 당신은 그것을 선언 할 수 있습니다 활동이 구성 변경 자체를 처리하기 때문에 시스템이 활동을 다시 시작하지 못하게됩니다. "

+0

그래 ... 나는 그것에 대해 생각했지만 ... 하나 이상의 개체가 있다면 어떨까요? 그럼 어떻게 든 배열이나 스턴트를 반환해야합니다. – xpepermint

+0

그레이트 ... 고마워. – xpepermint

관련 문제