Ripple Animation
안드로이드 5.0(API 21)의 머트리얼 디자인에서 물결 터치 효과가 처음 소개 되었습니다. 터치 피드백에 대해 UI요소와 사용자간의 상호작용을 비주얼 하게 머트리얼 디자인에서는 제공합니다. 예를 들어 버튼을 터치하면 즉각 물결 효과가 표시 됩니다. 이것은 안드로이드 5.0에서 기본으로 제공됩니다.
EAT. SLEEP. ANDROID. 🤘
안드로이드 5.0(API 21)의 머트리얼 디자인에서 물결 터치 효과가 처음 소개 되었습니다. 터치 피드백에 대해 UI요소와 사용자간의 상호작용을 비주얼 하게 머트리얼 디자인에서는 제공합니다. 예를 들어 버튼을 터치하면 즉각 물결 효과가 표시 됩니다. 이것은 안드로이드 5.0에서 기본으로 제공됩니다.
구글의 머트리얼 디자인 발표 후 안드로이드 앱의 디자인이 한결 깔끔하고 심플하게 변했습니다. 다양한 컬러와 복잡한 패턴을 사용하던 앱의 UI가 하나의 컬러와 도형으로 훨씬 심플해졌습니다. 이렇게 심플해진 UI로 인해 디자이너의 역할은 어느 때 보다 줄어들었습니다. 또한 구글의 머트리얼 디자인 가이드, 디자인 라이브러리, UI 툴이 한몫을 했다고 생각합니다.
안드로이드 서포트 라이브러리 리비전 24부터 레이아웃을 비동기로 인플레이트 할 수 있는 클래스가 추가되었다.
안드로이드 7.1에 앱 바로가기(Shortcut)기능이 추가되었다. 구글의 픽셀런처에만 지원하고 있지만 앞으로 안드로이드 7.1이 올라가면서 제조사의 런처에서도 지원될 가능성이 높다.
RecyclerView는 ListView를 완전히 대체할 수 있을 만큼 기능과 성능이 크게 향상되었다. ListView에서도 어떻게 하면 끊김 없이 빠른 스크롤을 지원할까라는 고민을 해왔었고, RecyclerView를 사용하다 보면 똑같은 고민을 또 하게 될 것이다.
안드로이드 개발 시 Annotation을 사용할 수 있도록 서포트 라이브러리를 지원한다. Annotation을 통해 코드의 설명을 간단명료하게 표시할 뿐 아니라 제약할 수도 있다. 즉, 해당 메서드나 멤버 변수를 다른 사람 또는 내가 재사용할 때 필요한 규약을 지정하여 예외적인 사항을 컴파일 에러를 통해 바로 확인이 가능하다.
ContraintLayout은 2016 구글 I/O를 통해 발표된 안드로이드의 새로운 레이아웃이다. 안드로이드 스튜디오(2.2 Preview2 부터)에 내장된 새로운 레이아웃 에디터(Blue Print)와 연동을 통해 이전의 레이아웃보다 쉽게 구성할 수 있다. 뷰 계층의 깊이와 복잡성을 해결하기 위해 ContraintLayout이 만들어졌으며, 앱의 UI렌더링 속도를 높일 수 있을 뿐만아니라 다양한 기기의 해상도에 최적화된 UI를 쉽게 개발 할 수도 있다. 안드로이드 서포트 라이브러리를 통해 사용가능하며 API 레벨 9부터 사용가능하다.
안드로이드 스튜디오로 오면서 Gradle로 인해 외부라이브러리 사용이 훨씬 편해졌다. 예전에는 JAR파일이나 라이브러리 프로젝트를 직접 다운받아 프로젝트에 Import해서 라이브러리를 사용했다. 안드로이드 스튜디오의 Gradle파일에서 Dependencies에서 라이브러리명만 작성하면 연결되어 있는 저장소에서 파일을 받아오게 된다. Maven Repository중 가장쉽고 간단한 jCenter가 있으며 최근 안드로이드 스튜디오에서 새로운 프로젝트를 생성하면 기본 저장소로 설정되어 있기도하다.
안드로이드 마시멜로에서 앱이 백그라운드로 처리하는 작업을 막아 배터리 소모를 줄이는 최적화 기능이 들어있습니다. 배터리 소모를 줄이는 것도 좋지만 앱의 작동에 문제가 되는 경우를 흔치 않게 보여지고 있습니다. 예를 들어 스마트와치와 연결하는 구글의 안드로이드 웨어의 경우 배터리 최적화모드로 인해 블루투스간의 페이링 연결이 끊겨버리는 문제가 발생하게됩니다.
안드로이드 롤리팝에서 Vector방식의 Drawable을 사용 할 수 있는 VectorDrawable이 추가되었다. 구글의 안드로이드 Support Library 23.2부터 안드로이드 5.0 이하 버전에도 VectorDrawable을 지원한다.