Android 시스템 글자 크기 설정에 영향받지 않는 sp 단위
Android 앱 개발을 하면서 가끔은 시스템 설정의 글자 크기를 무시하고 고정 사이즈를 필요로 하는 상황을 맞이할 수 있습니다. 기존 xml의 TextView에서는 sp 단위가 아닌 dp 단위를 써서 고정시킬 수 있었습니다. 하지만 Compose에서는 Text의 단위는 sp 또는 em 단위를 써야 합니다. sp 단위는 시스템의 글자 크기 설정에 따...
Android 앱 개발을 하면서 가끔은 시스템 설정의 글자 크기를 무시하고 고정 사이즈를 필요로 하는 상황을 맞이할 수 있습니다. 기존 xml의 TextView에서는 sp 단위가 아닌 dp 단위를 써서 고정시킬 수 있었습니다. 하지만 Compose에서는 Text의 단위는 sp 또는 em 단위를 써야 합니다. sp 단위는 시스템의 글자 크기 설정에 따...
Android Preference에서 data를 추가하기 위해서 Editor의 commit(), apply() 두 가지 방법을 이용합니다. Preference 코드를 작성하면서 추후에 왜 이런 코드를 짰는지에 대한 명확한 이유를 설명하기 위해서는 commit()과 apply()의 차이점에 대해 알고 갈 필요가 있습니다. commit()과 ap...
Compose의 Stability Compose는 Recompose 시 불안정한 타입의 값을 가진 Componant는 Recompose가 되고, 안정한 타입을 가진 Componant는 Recompose가 스킵이 됩니다. Android 앱의 성능을 향상 시키기 위해서는 불필요한 UI 렌더링을 피하는것이 기본임으로 Compose를 사용하여 더 좋은 앱을...
특정 트리거로 인해 UI Update 시 불필요한 렌더링 완화로 인한 성능 향상 기존 View System에서 자식뷰가 새로 그려지게 되면 그 위에있는 ViewGroup 안에 있는 뷰도 같이 새로 그려지게 됩니다. Compose는 이를 보완하여 Recompose 시 다시 그릴 필요없는 UI 렌더링을 스킵하도록 설계 되어있어 성능 향상를 불러옵니다. ...
코드블럭 티스토리 블로그의 코드블럭은 개인적으로 아쉬운 마음이 많이 들었습니다. 여러가지 테마를 알아봤지만 결국 마음에 드는 테마를 찾을 수 없었습니다. 직접 테마를 커스터마이징 하는 방법도 있지만, 그러기에는 들어가는 리소스가 많다고 판단하여 보류하면서 블로그를 이용해 왔습니다. 그러다가 여러 개발 관련 지식이 담긴 글을 읽어오면서 깃허브 블로그...
Dispacher란? 코루틴이 어느 스레드 풀에서 작동할지 정해주는 역할을 합니다. Dispatcher의 종류는 Main, IO, Default, Unconfined 총 4가지가 있습니다. 스레드 풀 : 스레드를 미리 생성하고, 작업 요청이 발생할 때 마다 미리 생성된 스레드로 해당 작업을 처리하는 방식 Main Android 메인 스레드에서...
실험 개요 Paging3의 장점 중 하나인 페이징 된 데이터의 메모리 캐싱인데 그렇다면 이 캐싱된 데이터는 어떻게 활용되는지 궁금해졌습니다. 공식 문서를 보면 페이징 캐싱에 관한 구현은 다음과 같이 돼있습니다. val flow = Pager( // Configure how data is loaded by passing additional prop...
공식 문서에 나온 Equality 내용 코틀린에서 == 연산은 데이터 값이 같은지 판별하며 equlse()를 호출 합니다. 코틀린에서 === 연산은 주소 값이 같은지 판별합니다. 만약, a == null 연산을 했다면 자동으로 a === null 변환이 됩니다. 컴파일시에 원시형으로 변환 되는 타입(Int, Double…)에서 == 연...
Medium 글을 읽다 성능 관련 꿀팁이라 공유합니다. 요약 Compose의 Image / Icon에서 이미지 리소스를 지정할 때 painter 대신에 imageVector를 쓰면 불필요한 recompose를 줄일 수 있습니다. //Before Image( painter = painterResource(id = R.drawable.ic...
사전 조사를 마치고 본격적으로 테스트 코드를 작성하면서 겪은 시행착오와 개인적으로 느낀점을 공유합니다. 순수 개인 의견이니 참고 바랍니다. 테스트 코드가 어렵게 느껴진 이유 테스트 시나리오가 앱의 상황에 따라 다양해지기 때문에 명확한 가이드라인이나 자료가 없습니다. 다양한 회사에서 테스트 코드 도입을 시도한 자료는 있지만, 앱 구조와 기술 ...