본문 바로가기

2019/04

(4)
[자바/Java] String, StringBuilder, StringBuffer 차이점 이번 포스팅은 String, StringBuider, StringBuffer 이 3가지의 각 특징과 차이점에대한 내용입니다. 위 3가지 모두 문자열을 저장하고 관리하는 클래스지만 가장 큰 차이점은 String은 immutable로 불가변적이고 StringBuider와 StringBuffer는 mutable로 가변적입니다. 여기서 가변, 불가변은 문자열이 아닌 각 클래스가 인스턴스화 됐을때 할당된 메모리 공간에 대한 변화 여부를 뜻합니다. String String클래스 객체를 생성했을때 할당된 메모리 공간은 변하지 않습니다. 흔하게 문자열에 '+'로 문자열을 더할때마다 새로운 객체를 생성하며, 기존 객체는 가비지 컬레터에의해 수거됩니다. ( 언제 수거될지 알수 없음 ) 이러한 이유로 String 클래스는 ..
[안드로이드/Android] 기기별 해상도 해당 포스팅은 기기별 해상도를 시작으로 추후 파편화 이슈에 대한 내용으로 채우도록 하겠습니다. 해상도 2960 x 1440 , 18.5:9 비율 = s8, s8+, s9, s9+, 노트8, 노트9 해상도 2280 x 1080 , 19:9 비율 = s10e 해상도 3040 x 1440 , 19:9 비율 = s10, s10+
[안드로이드/Android] APK 다이어트 안녕하세요 이번 포스팅은 프로젝트의 규모가 커질수록 필수로 진행해야 하는 'APK 다이어트'입니다. 마켓에서 다운로드할 때 용량 크기가 클수록 불편함을 느끼는 사용자들이 많아지며, 100MB 이상 apk는 wifi를 사용해야지만 다운로드가 가능하기 때문입니다. apk는 가능한 작은 게 좋다고 생각합니다. 작성 이력 19.04.05 : 최초작성 불필요한 리소스 제거 요건 변경으로 인한 기존에 사용했던 리소스(이미지나 xml 등)가 잔재하는 경우가 많습니다. 그때그때 삭제해주면 좋지만 그게 어려울 경우 한 번에 제거하는 방법이 있습니다. 커스텀 폰트 사용 지양 개인적인 의견이지만 시스템 폰트가 아닌 커스텀 폰트는 5~10mb 하는 녀석들도 많기 때문에 되도록 시스템 폰트를 지향하는 게 프로가드 사용 프로가드..
[안드로이드/Android] QR코드 리더기 만들기 ZXing 라이브러리를 사용하면 손쉽게 QRCode Reader를 구현할 수 있습니다. 이번 포스팅은 기본적인 라이브러리 사용 방법과 뷰 커스텀을 중점적으로 다루겠습니다. 설정 프로젝트의 타겟 버전에 따라 조금 차이가 있습니다. build.gradle ( App 레벨 ) 설정 - SDK 19+ zxing-android-embedded는 QRCode와 관련된 내용들을 사용하기 위해 추가하며, appcompat은 최소 23이상이 필수 입니다.dependencies { implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.journeyapps:zxing-android-embedded:3.6.0' }※buildToolsVersi..