| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 안드로이드 최적화
- 안드로이드 클린 아키텍처
- 안드로이드 테스트코드
- Android App Architecture Guideline
- Koin
- 리싸이클러뷰 최적화
- 안드로이드 의존성주입
- sharedFlow
- coroutine
- 안드로이드 리싸이클러뷰
- 안드로이드 Espresso
- 안드로이드 hilt
- 안드로이드 mvvm
- 안드로이드 앱 아키텍처 가이드라인 사용법
- 스타트업 코딩테스트
- android DI
- 안드로이드 Mockito
- Android MVVM
- MVVM
- android clean architecture
- Hilt
- 안드로이드 앱 아키텍처 가이드라인
- RxJava
- 안드로이드 앱 아키텍처 가이드라인 설명
- 안드로이드 앱 아키텍처 가이드라인 예시
- 코루틴
- 안드로이드 아키텍처 컴포넌트
- 안드로이드 JUnit
- android memory leak
- 안드로이드 mvvm예제
- Today
- Total
목록전체 글 (42)
안드로이드 연구소
오늘은 첫 포스터에서 설명한 것 같이 이전 포스터들에서 챕터1에서는 잘못 사용하고 있었던 안드로이드 코드들을 고친 다음 오늘부터 챕터2의 핵심인 MVVM에 대해서 연구해보려고합니다. 여러분들이 MVVM은 많이 들어보기만 하신분들만 있기도 하고 회사 프로젝트에서 사용하고 있어서 그냥 사용하시고 있는분들이 많을거라 생각합니다. MVVM은 여러 디자인 패턴중 하나입니다. 하지만 왜 다들 안드로이드 개발에서는 많은 패턴 중에 MVVM을 사용하고 있을까요? 저는 이 궁금중부터 시작하여 역사적인 관점에서 - MVVM이전에는 어떤 패턴들을 사용하였고 - 어떤 문제들가 있어서 MVVM이라는 새로운 시도를 하게되었으며 - 이는 어떤 효과를 불러일으켰는지 살펴볼 예정입니다. 그럼 시작해보겠습니다. Q1. ChatGPT, ..
여러분들도 코루틴에 대해서 들어보셨는가요? - 들어는 봤지만 어떤 내용인지는 모르는 사람 - 인터넷에서 예제를 복붙해서 몇 번 사용해 본 사람 - 비동기에서 처리하고 똑같은 코드로 메인쓰레드만 이용하는 사람 사실 이 사람들은 모두 똑같이 코루틴을 모르는 사람들입니다. 그 이유는 코루틴의 구성요소를 모르기 때문입니다. - 어떤 종류의 코루틴 스코프를 사용해야하는지 - 어떤 코루틴 컨텍스트를 사용할지 - 어떤 코루틴 빌더를 호출할지 우리 개발자들은 사항에 맞게 우리는 각 각의 구성요소를 사용해줘야합니다. 다른 예제들과 달리 코루틴은 몇 번 따라해본다고 능숙하게 적용하고 응용하기가 거의 불가능합니다. 코루틴은 러닝커브(신기술을 배우고 적용하는 걸리는 시간)가 높은 편이라고 얘기하는데요. 기초 지식 없이는 다룰..
이전 1장에서는 onCreateViewHolder를 최적화하는 방법 2장에서는 onCreateViewHolder를 최적화하는 방법을 살펴보았는데요. 이번 마지막 3장에서는 아래와 같은 내용으로 진행해보겠습니다. -xml과 같은 뷰레이아웃을 최적화 -리싸이클러뷰 안에서 사용하는 이미지들을 최적화 아래 내용들은 지난 내용들과 마찬가지로 선배님의 블로그를 바탕으로 저 자신만의 리싸이클러뷰를 만드는데 집중하였습니다. https://gift123.tistory.com/67 안드로이드 개발 (34) RecyclerView 성능 향상 Android 개발을 하다보면 불가피 하게 RecyclerView를 사용해야 하는 순간이 대부분 옵니다. 요새 Compose열풍이 휩쓸고 있지만 아직은 회사에서 사용하는 목록형 UI는 ..
지난번에는 리싸이클러뷰를 최적하기 위해서 onBindViewHolder최적화하는 방법을 알아보았습니다. 오늘도 이어서 리싸이클러뷰를 최적화할 수 있는 여러 방법들을 알아보겠습니다. 아래 내용들은 지난 내용들과 마찬가지로 선배님의 블로그를 바탕으로 저 자신만의 리싸이클러뷰를 만드는데 집중하였습니다. https://gift123.tistory.com/67 안드로이드 개발 (34) RecyclerView 성능 향상 Android 개발을 하다보면 불가피 하게 RecyclerView를 사용해야 하는 순간이 대부분 옵니다. 요새 Compose열풍이 휩쓸고 있지만 아직은 회사에서 사용하는 목록형 UI는 RecyclerView를 통해 만들었을 겁니다 gift123.tistory.com Q1. LayoutManager(..
지난 포스트에서 리싸이클러뷰의 탄생배경, 작동원리와 문제점을 알아보았고 왜 우리 개발자들이 리싸이클러뷰를 최적화를 해주어야하는지를 알 수 있었습니다. 왜 최적화가 필요한지 모르시는 분들이 있다면 이전 포스트를 참고 해주세요! 이번에는 이어서 리싸이클러뷰를 최적화하는 여러가지 방법들을 보여드리겠습니다! 이번 포스트는 chatGPT보다 더 다양하고 꼼꼼하게 적어놓으신 선배 블로그님의 내용을 바탕으로 포스팅해보겠습니다. 우선 그전에 우리 프로그램의 Recyclerview 성능이 좋은지 안 좋은지를 알 수 있을까요? Q1. 안드로이드 성능 측정 방법 더보기 1. GPU 렌더링 프로파일링 GPU 렌더링 속도 및 오버드로 검사 | Android 개발자 | Android Developers 앱에서 문제가 발생할 수 ..
우리의 코드에서 가장 문제가 많은 곳 중에 하나는 리싸이클러뷰 Recyclerview가 아닐까 싶습니다. 저부터 리스트 목록을 만들어 구현하는 것이 목적이였지, 한번도 리싸이클러뷰의 성능을 계산하며 성능을 높이 목표를 가져본적이 없었습니다. 하지만 버벅거림 없이 렌더링을 극대화하기 위해서는 리싸이클러뷰를 최적화해야만합니다. 그러면 Recyclerview의 A부터 Z까지 Q1. chatGPT, 리싸이클러뷰에 대해 설명해줘 이전 ListView 및 GridView 구성 요소를 대체하기 위해 Android Lollipop(Android5.0, 2014)에 도입된 목록 또는 그리드 형식으로 대규모 데이터 집합을 효율적으로 표시되는 UI Component이다. 위에 내용에서 리싸이클러뷰 이전에는 ListView와..
앞 전에 Lint 검사와 Deprecated검사를 통해서 안드로이드에서 피해할 문법들을 알아보았습니다. 기본적으로 Android Studio에서 문법적 오류를 체크하는 IDE 또는 Lint검사나 기타 정적 분석 도구 또는 다른 다른 정적 검사 도구들에는 문제가 있습니다. "R.id.문자열값" 넣어야하는 구문에서 "R.id.색상값", "R.id.그래픽값"을 넣더라도 정적 분석 도구들은 이를 오류로 찾아내지 못하고 있습니다. 하지만 실행을 하거나 해당 구문을 사용한 엑티비티에서 오류가 발생한걸 알 수 있습니다. 만약에 이때 이때는 "문자열값만 넣어줘야하는거야"라고 검사 도구들에게 알려주었다면 문자열 이외의 문구가 들어왔을 때 나올 오류까지도 검사도구들은 열심히 찾아주었을 것 입니다. 그렇다면 검사도구들에게..
Deprecated 사전적인 의미로는 "더 이상 사용되지 않음"을 뜻하는 말이다. 소프트웨어에서는 어떤 기능이 아직까지 사용하고 있지만 중요도가 떨어졌거나 새로운 기능이 나와 조만간 사라지게 될 상태를 의미한다. 그렇다면 안드로이드에서는 어떤 의미로 사용되고 있을까? Q1. chatGPT, 안드로이드에서 Deprecated에 대해 설명해줘. 더 이상 사용을 권장하지 않음을 나타내기 위해 메소드, 클래스 또는 필드에 추가되는 "주석(annotation)"을 의미합니다. Android OS의 향후 버전에서 지원되지 않을 수 있고 예상대로 작동하지 않을 수 있으므로 일반적으로 권장되지 않습니다. 향후 잠재적인 문제를 방지하기 위해 가능한 한 빨리 새로운 권장 대안으로 마이그레이션하는 것이 좋습니다. Q2. 그..
저번 메모리 누수 검사하는 법을 마치고 오늘부터는 또 여러분의 코드에 어떤 오류가 있는지 발견할 수 있는지 확인할 수 있는 방법을 소개시켜드리겠습니다. 그 바로 첫번째는 린트 검사입니다. 위키백과에서 Lint라는 단어를 검색하면 아래와 같이 문구가 나옵니다. 린트(lint) 또는 린터(linter)는 소스 코드를 분석하여 프로그램 오류, 버그, 스타일 오류, 의심스러운 구조체에 표시(flag)를 달아놓기 위한 도구들을 가리킨다.이 용어는 C 언어 소스 코드를 검사하는 유닉스 유틸리티에서 기원한다. C언어를 사용할 때 오류를 발견을 도와준 도구가 현재 기원이 된거 같습니다. 그렇다면 안드로이드에서 린트검사는 어떤 도구일까요? Q1. ChatGPT, 안드로이드 린트검사에 대해 설명해줘. Android 애플리..
지난번 연구를 통해서 대표적인 메모리 누수를 하는 코드들을 살펴 보았습니다. 하지만 대표적인 예시 외에도 내가 만든 어플리케이션에 어떤 메모리 누수가 있는 확인하는 방법을 알 수 있을까요? 대표적인 방법 2가지를 오늘 소개해보려 합니다. 1. 안드로이드 스튜디오 Memory profiler (1)상단바 View> Tool windows > Profiler (2) Profiler > + 버튼 > 디바이스 선택 > 어플리케이션 선택 (3) MEMORY선택 (4) (어플리케이션을 전반적으로 작동하거나 아니면 메모리릭이 의심가는 엑티비티 작동 후 onDestory한 후) Dump Java heap 클릭 (5) show activity/fragment Leaks > app head의 Activity또는 fragm..