전체 글108 !!! FAILED BINDER TRANSACTION !!! 에러 테스트를 해보는데 이런 에러가 뜬다.. !!! FAILED BINDER TRANSACTION !!! (parcel size = 1288)E Could not forward noteOp of 108 to com.google.android.gms/10098(network_location_provider) android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffeat android.os.BinderProxy.transactNative(Native Method)at android.os... 2024. 5. 16. map의 검색속도는 정말 array보다 빠를까? 코딩테스트를 하다가 특정값을 찾는 문제에서 array로 검색을 할 때 시간초과가 뜬다. map으로 바꿔서 하면 통과가 되길래 'map으 검색속도가 array보다 빠르다' 로 알고 있었다.근데... 왜 빠르지? map 안에 키로 찾는다면 결국 내부에서 키값을 비교하면서 순회하지 않나? 그렇다면 array랑 비슷할 거 같은데 왜 빠를까? 그래서 찾아보았다. 해쉬맵은Bucket이라는 구조를 가지고 키를 찾는다. Bucket에는 key로 생성한 Object와 해쉬코드를 쌍으로 들어있다. 해쉬코드에는 순서가 있고 그 순서를 기반으로 값을 검색하기 때문에 키를 빠르게 찾을 수 있다.해쉬코드키000이지금001이지은002이지동그리고 Entry라는 구조를 가지고 값을 찾게 된다. Entry는키값이지금가수이지은래퍼이지동기.. 2024. 5. 1. 최종 프로젝트 트러블슈팅 Trouble Shooting 지도 사용성 개선 문제 : 너무 많은 마커의 양 때문에 속도가 느려짐 맵을 축소했을 때 여러 개의 마커가 겹쳐서 시인성이 떨어짐과정: 클러스터링을 적용하고 화면 안에 마커만 나오게 하기로 결정 적용하고 나니 화면을 움직이고 난 뒤에 클러스터링하는 속도가 느림해결 : 데이터를 정렬, Coroutine 영역에 async, await으로 for문을 나눠서 처리하여 속도를 개선 (카메라 이동 시 처리 시간 약 800ms → 약 500ms)좌표 검색 방식 변경 문제 : 파이어스토어에 2개의 필드를 중첩하여 검색할 수 없음 과정 : 모두 불러온 뒤 비교하는 방법은 비용 문제 때문에 배제 Geohash 적용 (정확도가 높지 않아서 오차가 크다는 단점이 있음) 해결: 매 호출마다 Geoh.. 2024. 4. 10. [네이버맵 api] pointf 좌표 마커의 위치 기준점을 바꾸는 pointf 속성이 있다. 비율로 나와있는데 0~1로 표시한다고 공식문서에 써있다. 사용 예시 marker.anchor = PointF(0.5f, 1f) 위처럼 쓰면 된다. 2024. 4. 10. [코틀린] coroutine async await 사용 맵을 구현하면서 렉을 줄이기 위해 화면 안에 마커만 표시하기로 했다. 마커는 그냥 보여줬다 안보여줬다만 하면 되는데 문제는 클러스터러였다. 이걸 만들 당시에는 네이버맵에서 클러스터링을 지원하지 않았어서 tednavercluster라는 라이브러리를 썼었다. 지금은 클러스터링을 지원한다. 프로젝트 진행중에 생겨서 너무 빡쳤었다. 좀만 일찍 냈으면 라이브러리를 안써도 됐잖아 ㅠㅜ 아무튼 라이브러리에 데이터를 넣으면 표시해주는데 객체가 들어있는 배열형태로 넣어주다보니 처리하는데 시간이 꽤나 오래 걸렸다. 그래서 메인 스레드에서만 돌리기에는 작업량이 많아서 속도가 너무 느린 거 같아 코루틴을 활용하여 처리하기로 했다. 아래 코드가 코루틴을 사용한 부분이다. private fun updateCluster( nave.. 2024. 4. 8. 대구은행카드 공모전 디자인 예전에 했던거 2024. 4. 3. 홍성군 평생학습센터 로고 공모전 엄청 예전에 했던거다. 당시에는 이게 최선이라고 생각했는데 지금 보니 뭔가 부끄럽네.... 2024. 4. 3. 김 포장지 디자인 2024. 4. 3. [안드로이드 코틀린] leakcanary(리크카나리)를 써보자 어제 profiler로 메모리 리크를 해결하기 위해 삽질을 했지만 실패했다.의심가던 전역변수를 모두 없앴는데도 리크가 일어나는 것이다.... 뭔가 내가 놓치고 있는게 있나해서 이거 뭐지하다가 튜터님한테 도움을 청하러 갔다. 리크카나리라는 라이브러리가 메모리 리크를 잡는데 좋다고 추천해주셨다. 맵 프래그먼트인거는 알겠는데 그래서 어디가 잘못됐는데?란 상황에 봉착했을 때, 조금 더 자세하게 문제의 원인을 특정해줄 수 있다고 한다. 리크 카나리를 써보자. 우선 빌드 그래들에 추가한다. dependencies { debugImplementation ("com.squareup.leakcanary:leakcanary-android:3.0-alpha-1") } 디버그임플레이션?은 뭐지 했는데 종류를 찾아보니 여러가지.. 2024. 3. 26. 이전 1 2 3 4 5 ··· 12 다음