목록안드로이드(Android)/이슈 및 해결 (27)
Simple&Natural
[문제] 공식문서에 의하면 IO Dispatcher가 사용하는 스레드 풀의 최대 스레드 갯수는 64개를 넘지 않는다. 하지만 내 노트북에서 실험한 결과 간혹 스레드 번호가 64를 초과하여 찍힐 때가 있었다. 같은 코드를 kotlin.org에서 제공하는 PlayGround 에서 찍어보면 또 전혀 문제가 없다. 혹시 기존의 64개 스레드가 모두 점유되고 있으면 추가로 스레드를 더 생성하는 건지 궁금하여 자료를 찾아보아도 딱히 관련된 내용이 없었고 공식 Github에 이슈를 체크해도 딱히 답변이 없는 상황. repeat(500) { CoroutineScope(Dispatchers.IO).launch { println(Thread.currentThread().name) } } ... DefaultDispatch..
진행하는 프로젝트의 Gradle을 리팩토링 하던 중 빌드가 되지 않는 현상이 발생하였다. 안드로이드 스튜디오 버전 4.0 오류 내용 Execution failed for task ':app:mergeDebugJavaResource'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > More than one file was found with OS independent path 'META-INF/AL2.0'. 해결방법 구글링 도중 발견한 문제 해결의 키워드이다. 여러 모듈 앱 환경에서 작동하는 비슷한 문제에 직면했습니다. 오류 : ': app : transformResource..
EUC-KR로 인코딩된 웹문서를 안드로이드 앱으로 불러오면 종종 글자가 깨져보이는 경우가 발생하는데 이때 받아오는 inputStream에 charset 인코딩 타입을 지정해주어야 한다. val response = httpRequest(mClient, newsUrl) val inputStream = response?.body?.byteStream() //임시코드, null 예외처리를 이렇게 겹쳐 쓰는 건 지양해야 함 val inputStringReader = InputStreamReader(inputStream, "euc-kr") 블로그를 돌아다니다 보면 다 웹문서를 올바르게 표시하고 싶어하는 질문들에 대해 이상한 답변이 달려있는 경우가 많은데... 예를 들면 String(word.toByteArray("..
30~40개 정도의 URL에 동시에 요청을 보내서 값을 받아와 파싱해야 하는 작업이 있었다. 루프를 돌려 반복해서 요청을 보내보니 적게는 1~2개에서 많게는 10개 이상까지 계속해서 다양한 exception이 발생하였다. 원인을 찾기 위해 우선 몇 가지 케이스를 나누고 검증을 시작했다. 1. 요청 단계에서 문제가 생긴 경우 2. 응답이 문제가 있는 경우 3. 정상적인 요청과 응답이 이루어진 이후에 문제가 발생하는 경우 우선 간단히 로그를 찍어보니 모든 요청들이 정상적인 응답코드를 반환하고 있었으므로 1, 2번 케이스는 제외하였다. 그렇다면 남은 가능성은 정상적인 응답을 받아오는데도 불구하고 내 쪽에서 제대로 된 처리를 하지 못하는 것이다. 마찬가지로 로그를 통해 어떤 예외들이 찍히고 있는지 살펴보았다. ..