본문 바로가기
반응형

Android42

[Android] Context에 의한 Memory Leak Android 앱 개발을 하게 되면 Context는 뭐라고 설명하긴 어렵지만 굉장히 자주 필요로 하게 되는 객체입니다. 이를 테면 getString() 을 통해 다국어 정보를 가져오거나, getResources() 등을 통해 리소스 정보를 얻어오기 위해도 사용합니다. adapter나 여러 이유로 만들게 되는 singleton 객체 혹은 기타 다른 여러 객체에 context를 전달하여 쓰는 케이스가 종종 있습니다. context는 자주 쓰이지만, 그만큼 사용 시 주의해야 하는 부분도 있습니다. 잘못 사용하게 되면 Activity를 종료하더라도 해당 context를 갖고 여전히 살아있는 다른 객체 때문에 GC에 의해 정리되지 않고 여전히 메모리 속에 떠돌고 있을 수 있습니다. 이에 대한 간단한 팁으로 ada.. 2020. 11. 8.
[Android] 이미지 파일 사이즈 얼마나 알고 계신가요? 최근 개발하고 있는 앱의 특정 화면에서 버벅 거리는 현상이 리포팅되었습니다. 해당 화면을 살펴보니 CardView 4개가 LinearLayout에 나란히 올라가 있고, 2개의 CardView에는 각각 ImageView가 한개씩, 나머지 2개에는 약간의 텍스트와 아이콘이 전부였습니다. 의아했습니다. 네트워크/DB/파일 읽고 쓰기와 같은 로직이 있는 것도 아니었는데 대체 왜 버벅이는 거지? 일단 제가 사용하던 갤럭시 S10e에서는 아무런 문제가 없었습니다. 리포팅된 기기는 갤럭시 노트4… 제 갤럭시 S6를 꺼내들어 확인해보니 S6에서도 버벅이는 것이 확인되었습니다. 문제 분석 우선 바로 Profiler를 실행하고 뭐가 문젠지 확인해봤습니다. CPU, Memory를 중점적으로 봤고, 그 중 CPU가 다른 화면.. 2020. 11. 8.
[Android] 버튼의 shadow 제거하기 2020. 11. 8.
[Android] Resource XML에서 API Key 다루는 방법 일반적으로 API Key는 소스 코드에 하드 코딩하지 않습니다. 하여 git 관리 대상도 아닙니다. 절대 노출되면 안되는 아주 민감한 정보이기 때문입니다.​ API Key를 하드 코딩하지 않는 방법은 아래 포스팅에서 확인하실 수 있으며, 본 포스팅은 이것과 연계된 내용을 다루고자 합니다.​ dev-youknow.tistory.com/14 build.gradle에 정의한 정보를 Java/Kotlin 코드에서 읽어오는 방법은 위 포스팅을 보시면 됩니다. 비슷하게 Java/Kotlin 코드가 아니라 XML에서 참조하고 싶은 경우가 있는데, 이러한 경우는 아래와 같이 build.gradle에 정의하시면 됩니다. android { ... defaultConfig { ... resValue "string", "AP.. 2020. 11. 8.
반응형