달력

32024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
안드로이드 2.1 이하의 버전에서는 라이브러리 자체의 버그로 인해
네트워크가 느린 경우에서 스트림의 정보를 제대로 읽어오지 못하는 경우가 있는데
이를 방지하기 위해 FlushedInputStream 을 사용합니다.

대충 원리는 이렇습니다.
2.1에서의 InputStream은 네트워크가 이상하면 스트림의 몇개 바이트를 건너 뛰게 되어 있는데,
이렇게 되면 당연히 읽어온 정보가 없거나 잘못된 정보일 것이니
이를 방지하기 위해 건너뛴 바이트만큼을 다시 읽어들여서 씁니다.
[틀린점 있으면 댓글 환영합니다,]

아래는 해당 소스입니다. (출처 - 안드로이드펍 개발정보 게시판)



Posted by 낭만폭풍
|