Frontend

이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 자바를 배웠다면 스레드라는 단어는 익숙할 것이다. 필자가 스레드를 처음 배울 때 읽었던 글을 인용해 쉽게 풀어보도록 하겠다. 밥 먹을 때 취사 버튼 누르고 밥 다 되는 동안 식탁을 차리는 것과 유사하다. 국을 끓인다던가, 계란말이를 한다던가, 보통 압력밥솥의 취사버튼을 누르고 아무 것도 하지 않다가 완료 후 식사를 준비하지는 않는다. 이처럼 무언가를 백그라운드로 돌려놓고 다른 여러가지 일을 하는 것이 스레드라고 할 수 있다. Thread 의 필요성외부 Thread 가 없이 Main Thread 만으로만 구현하게 된다면, 이러한 문제가 생긴다. 어떠한 버튼을 눌렀을 때 Main Thread 내부적으로 10초 이상이 걸리는 작업을 한다고 치면, ..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 서론 안드로이드 앱을 구현하여 돌리다보면, 또는 플레이스토어에 올라온 앱임에도 불구하고, 앱의 중지를 알리는 메시지를 심심치 않게 봤을 것이다. 이러한 시스템 이슈를 알리는 메시지 중 하나인 ANR에 대해서 알아보고 어떻게 피할 수 있을까? 생각해보도록 하겠다. ANR이란? ANR은 Application Not Responding의 약자로 그대로 해석해보면 의미를 쉽게 파악할 수 있다. '애플리케이션이 응답하지 않는다.' 인 것이다. 이 에러의 원인은 Main Thread(UI Thread)가 일정 시간 어떤 Task에 잡혀 있으면 발생하게 된다. ANR의 발생 요인ANR은 대체로 아래의 상황에서 발생하게 된다. 애플리케이션이 UI 스레드에 어떠한..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. [목차] 리스트뷰의 개념 및 사용법 리스트뷰의 성능 최적화 서론 이전 포스팅에서 안드로이드 애플리케이션에서 가장 많이 애용되는 View 중 하나인 LiestView의 개념과 사용법을 다뤘다. 아이템 별로 많은 정보, 이미지를 사용할 때 매끄럽지 않은 스크롤에 골머리를 앓았던 경험이 있었을 거라고 생각한다. ListView는 어떤 구조로 동작하고 매끄럽게 동작하기 위해 어떻게 성능을 최적화할 수 있을지에 대해 알아보겠다. ListView 의 작동원리 리스트뷰는 다른 일반 View들과 다르게 성능을 위해 설계된 View이다. 일반 View의 개념으로 설계된다면, 아이템의 데이터를 보여줄 때마다 inflate를 하게되는데 이는 성능 상에 큰 문제를 야기..
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. [목차] 리스트뷰의 개념 및 사용법 리스트뷰의 성능 최적화 서론 안드로이드에서 가장 많이 사용하는 위젯 중 하나가 '리스트뷰'이다. 일반적으로 리스트 형태로 된 컨트롤을 말하는데 이 위젯은 특히 안드로이드나 아이폰처럼 손가락으로 터치하는 방식의 단말기에서 쉽고 직관적으로 여러개 아이템을 보여주고 선택하게 해주기 때문에 많이 사용된다. 안드로이드 앱을 개발하기 위해 필수적으로 알아야하는 리스트뷰를 구현하는 방법을 소개한다. 선택위젯 안드로이드에서 특별히 여러 개의 아이템을 선택할 수 있는 위젯들을 '선택 위젯'이라고 부른다. 다른 위젯과 다르게 특별히 이름을 붙이는 이유는 사용되는 방식이 기존 위젯과는 사뭇 다르기 때문이다. 선택 위젯은 어댑터(Ad..
에반황
'Frontend' 카테고리의 글 목록 (8 Page)