0

상황 : 내 앱에 하나의 활동이 있으며 오래 지속되는 TCP 연결을 처리하고 많은 물건을 사용하여 동적으로 UI를 업데이트합니다 (객체, 버튼, ArrayLists의 HashTables , 어댑터 ...). 순간 는, 나는 AsyncTask를와의 연결을 처리하고 방법을 찾고 저장하기 :서비스와 구성 변경 및 TCP 연결을 처리하는 AsyncTask

  • 연결
  • 동적으로 생성 된 뷰

화면 회전과 같은 모든 변수, 또는 사용자가 전화를 받으면, 나는 이것을 발견했다 : http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html 그것은 나에게 꽤 시원해 보인다. 그러나 오래 지속되는 TCP 연결에 더 좋기 때문에 서비스를 대신 사용해야하는 모든 곳을 읽었습니다. 왜 AsyncTask를이 :

  • 내가 회전에서 등 객체, 버튼을 절약하기 위해,
  • 어쨌든 비슷한해야 할 겁니다 조각을 사용하여 TCP 연결을 저장할 수 있습니다처럼/보이는
  • 를 호출
  • 내가 연결을 필요로 하나 개의 활동을 (서비스 하나 이상에 대해 표시되지 않습니다?)

왜 서비스 :

    ,
  • TCP 연결을 저장하기 위해 Fragments를 사용할 필요가 없습니다 (사실입니까? 나는 단지 하나의 클라이언트 또는 경계를 갖고 있기 때문에 서비스의 종류, 정상, IntentService, 내가, 내가 가정 오래 지속되는 연결
  • 내가 말할

"서비스"에 대한

  • 이상)?이 작업을 수행하는 데 사용한다 어쨌든 서비스 내부에서 AsyncTask를 실행해야하므로 주 활동에 대한 연결을 처리하지 못합니다. 어떻게해야합니까?

  • 답변

    0

    일반적으로 배경 스레드의 수명주기가 단일 활동의 수명주기 내에 포함되어있는 경우 AsyncTask을 사용하십시오. 그렇지 않은 경우 Service을 사용하십시오.