서버에서 다운로드 할 이미지가 100 개 있으며 각 크기는 거의 200kb입니다. 앱에서 이러한 목적을 달성하기 위해 Service or Intent 서비스를 만들어야 할 수도 있습니다. 나는 인 텐트 서비스가 작업자 스레드에서 실행되기 때문에이 상황에 가장 적합하다는 것을 알고있다. 하지만 내 유일한 관심사는, 내 응용 프로그램은 또한 다른 요구에 대한 다른 스레드를 시작합니다. 그래서 시간이 지나치게 많으면 성능이 저하 될 수 있습니다. 그래서 의도적 인 서비스 나 서비스를 별도의 과정으로 결정하는 딜레마에 빠져 있습니다. 별도의 프로세스를 만드는 것이 모든면에서 도움이 될 수 있습니다. 너 뭐라구?언제 안드로이드에서 별도의 프로세스를 시작 하시겠습니까?
0
A
답변
0
중요하지 않습니다. 첫 번째 멀티 스레딩 클래스를 기억한다면 모든 스레드가 동시에 작동하지 않는다는 말을들을 수도 있지만 "한 개는 잠시 실행되고 두 번째로 실행되면 다시 한 번 실행되고 세 번째로 실행됩니다"등과 같은 순서가 무작위입니다. 프로세서에 2 개의 스레드 또는 100을 사용하는 경우 문제가되지 않기 때문에 성능에는 영향을 미치지 않습니다. 그러나 먼저 다운로드 할 이미지를 기다리지 않아야하므로 사용자가 기다릴 필요가 없습니다. 느린 연결을 다운로드하려면 이미지가 너무 오래 기다려야합니다.
0
물론 인트런트 서비스는 작업 스레드에서 실행 중이며 서비스는 주 스레드에서 실행 중입니다. 당신이 서비스에서 이미지를 다운로드 할 그렇다면 당신은 여전히 같은 일이 여기 그래서 새로운 스레드를 생성해야하지만 의도 서비스는 서비스를 통해 몇 가지 장점이 있습니다
1.Background thread (You no need to create Thread to download images when Service need)
2.Automatic queuing the Intents delivered to onStartCommand(), so if one Intent is being processed by onHandleIntent() on the background thread, other commands queue up waiting their turn.
3. the automatic shutdown of the IntentService when job done (in service you need to call stopService)
이 약은 필요 없다 새로운 프로세스를 생성합니다. 하나의 IntentService를 만들어 이미지를 다운로드하십시오. 더 큰 데이터를 사용하면 여러 개의 스레드를 만들고 동시에 여러 부분을 다운로드 할 수 있지만 100 개의 이미지와 200kb 각각은 실제로 필요하지 않습니다.
관련 문제
- 1. 별도의 스레드에서 작업을 시작 하시겠습니까?
- 2. SSH 및 GDB를 통해 프로세스를 시작 하시겠습니까?
- 3. 자바 API로 아파치 드릴 프로세스를 시작 하시겠습니까?
- 4. 어떻게 안드로이드에서 서비스를 다시 시작 하시겠습니까?
- 5. 어떻게 안드로이드에서 스레드를 다시 시작 하시겠습니까?
- 6. 어떻게 안드로이드에서 서비스를 자동으로 다시 시작 하시겠습니까?
- 7. 별도의 JVM이 별도의 OS 프로세스를 의미하는 경우
- 8. 안드로이드에서 언제 루퍼를 사용해야합니까?
- 9. 외부 프로세스를 디버그 하시겠습니까?
- 10. 평가와 프로세스를 시작
- 11. Android - 어디서나 알림을 시작 하시겠습니까?
- 12. PHP에서 별도의 프로세스를 실행하는 방법
- 13. iOS에서 별도의 프로세스를 실행하는 방법
- 14. 시작 하시겠습니까?
- 15. 안드로이드에서 유휴 앱이 언제 죽게 되나요?
- 16. WSGI 환경에서 별도의 스레드 시작
- 17. 안드로이드에서 백그라운드 프로세스를 확인하는 방법
- 18. 안드로이드에서 죽은 프로세스를 감지하는 방법
- 19. 안드로이드에서 타사 프로세스를 죽이는 방법
- 20. 안드로이드에서 LayoutInflater가 언제 사용 되는가
- 21. 안드로이드에서 언제 FACTORY_TEST 권한을 사용해야합니까?
- 22. 32 비트 앱에서 64 비트 프로세스를 시작 하시겠습니까?
- 23. 관리자와 gunicorn을 사용하여 장고 - 샐러리 프로세스를 시작 하시겠습니까?
- 24. 우분투 - 자동으로 충돌 또는 고정 프로세스를 다시 시작 하시겠습니까?
- 25. 웹 서버 시작시 장기 실행 프로세스를 시작 하시겠습니까?
- 26. 는 윈도우 7 시작 화면에서 프로세스를 실행
- 27. C++ 기존 프로그램과 별도의 프로그램 시작
- 28. 장고 + 비동기 프로세스를 실행 하시겠습니까?
- 29. mongodb를 grails로 시작 하시겠습니까?
- 30. 안드로이드에서 카메라 시작 방법