일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- so파일 동적로딩
- Intent String 변환
- lufs
- Dagger2란
- Service관리
- mitmproxy
- 네트워크 디버깅
- java callstack
- HashMap vs ArrayMap
- convert string to intent
- gitignore
- RxJava 스터디
- BlockingQueue Capacity
- APK로딩
- APK 동적로딩
- MediaDataSource
- ArrayMap
- corePoolSize
- callstack 출력
- Replaygain
- android enum
- gitignore작성법
- Service 팁
- 오픈소스라이선스
- convert Intent to string
- enum performance
- print callstack
- android network
- RxJava Programming
- 음량표준화
- Today
- Total
일상&개발 로그
오픈소스를 사용할 때 참고하기위해 퍼온 자료입니다. 원 저작자는 http://www.androidpub.com/2582044글의 HackerK님 입니다. GPL -> GNU Public Licence (GNU 공공 허가서) 의 경우는 v2, v3 차이는 기억이 안나지만 이 라이센스의 오픈소스를 사용할 경우 결과물도 반드시 오픈소스여야합니다. LGPL -> GNU Lesser (2.1에서 Library -> Lesser로 변경) General Public License GPL과 비슷하지만, 독점 소프트웨어에 사용 가능합니다. 이 라이센스를 라이브러리 형태로만 사용한다면 소스를 공개하지 않아도 되고, 수정할 경우 그 수정된 라이브러리를 공개해야합니다. 수정된 라이브러리는 GPL이나 LGPL을 따라야합니다. ..
# Enum 단점 1. dex크기가 커진다.- 동일한 기능 int를 썼을때 vs enum을 썼을 때 dex크기 차이 비교 기존 int 추가 enum 추가 dex사이즈 2556bytes 2680bytes 4188bytes int: 124bytes 추가enum: 1632bytes 추가 약 13배 가까이 차이남 dex크기가 앱 성능에 직접적인 영향을 미치지는 않는다. 그러나 앱 실행을 위해서는 Heap 메모리에 dex파일을 로딩해야 하는데 Heap메모리가 부족하게되면 System Memory에 압박이 가해지고, 메모리 공간을 확보하기위해 앱이 종료될 수도 있다. 단점 2. Runtime 오버헤드가 추가된다.뿐만 아니라, enum이 선언될 때마다 16 + 20bytes 정도 Runtime 메모리 오버헤드가 추가..
HashMap Key값의 hashCode를 index로 Array에 값을 저장함. 기본적으로 배열이 커야 충돌확률이 줄어들기때문에 큰 배열을 사용한다. 따라서 검색 속도는 O(1)로 매우 빠르다. (hash값이 겹칠 경우 chaining등의 방법을 이용한다.) ArrayMap 두 개의 배열을 이용한다. 1번 배열에는 HashCode를 순서대로 저장한다. 2번 배열에는 Key/Value를 순서대로 저장한다. 값을 가져올 때는 1번 배열을 HashCode로 이진탐색하여 2번 배열의 index를 구한다. 2번 배열의 index 다음 값을 가져온다.(hashIndex * 2, hashIndex * 2 + 1) 검색속도는 O(logN) 이다. 요약: HashMap은 속도는 빠르지만 메모리를 많이 먹는다. Arra..