티스토리 뷰


Dalvik and ART

ART virtual machine

이번 버전부터는 개발자 옵션을 통해 VM으로 Dalvik 뿐만아니라 ART를 사용할 수 있게 되었습니다. 아래 표를 보시면 아시겠지만 성능차이가 꽤 납니다. 그러나 ART를 적용할 경우 기존 앱들에 대한 호환성은 보장이 안됩니다. 꽤 많은 앱들이 죽는현상이.. 이 부분은 직접 적용해 보시면 될 것 같습니다.


AlanJeon 님 글에서 발췌





Design change

Android 디자인 변경

+

OS 테마색 변경


설정 화면등을 보면 피드백에 대한 컬러가 HOLO 테마 영향으로 짙은 파란색 이었습니다.(인디케이터나 터치 피드백 등 처럼) 문제는 회사들이 요즘 컬러 브랜딩을 중요시하는데 이러한 색이 너무 튀다보니 융화가 안되는 문제가 있었습니다. 이에 이번 버전에서는 무채색등으로 컬러감을 낮추게 되었습니다.


2가지 제스쳐 추가





더블 터치, 더블 터치 줌 아웃 : 구글맵에 적용되어 있던 제스쳐로 한손으로 줌인 줌아웃 할 때 편합니다. 실제로 써보니 매우 편리했습니다..


런처 아이콘 변경

아이콘이 크기가 48dp에서 60dp로 변경됨에 따라 기존보다 크기가 커졌습니다. 이에 아이콘을 다양한 해상도로 준비하시길 강력히 추천합니다.



New ways to build beautiful apps

Android Design 변경사항 

+

Full-screen Immersive mode

새로운 Immersive mode는 컨텐츠를 보여주거나 터치 이벤트를 스크린의 모든 영역에서 사용 할 수 있도록 해줍니다. 이를 통해 폰과 태블릿에 보여지는 상태바나 네비게이션바같은 시스템UI를 모두 숨기면서, UI를 제작할 수 있습니다. 이 모드에서 시스템UI는 숨겨진 상태로 유지되며, 화면 모든 영역을 터치 이벤트로 받을 수 있습니다. 이는 더 크고, 풍성하며, 더 실감나는 UI를 당신의 앱이나 게임에 적용할 수 있고, 또한 시각적인 방해를 줄일 수 있는 훌륭한 방법을 제시합니다. 즉, 사진뷰어나 지도, 전자책 게임에 딱맞는 기능이라 할 수 있습니다. 4.4는 사용자가 이 모드에 적응하기 쉽도록 새로운 제스쳐를 제공하는데 현재의 스크린의 꼭대기나 밑의 가장자리를 스와이프하면 시스템 UI를 드러나게 합니다. 다시 이전 모드로 돌아가려면 스크린 가장자리를 터치하거나, 바가 자동 숨김될 때까지 잠시동안 기다리면 됩니다. 이러한 기능은 간단히 플래그를 통해 사용할 수 있습니다. IMMERSIVE을 이용하여 시스템 UI를 가리거나 나타나게 할 수 있고 IMMERSIVE_STIKY를 이용해 일정시간이 지나거나 사용자가 화면을 터치하면 자동으로 시스템 UI가 사라지며 전체화면 모드로 변환하도록 합니다.


간단히 말하자면 기존의 풀 스크린 모드와는 다르다고 생각하시면 됩니다. 기존의 경우 UI는 사용자가 아무것도 안하면 사라지고 터치하면 나오는 형태였지만 이번 버전의 경우는 이북을 생각하시면 됩니다. 이북에서는 화면을 터치할때마다 풀 스크린 모드가 풀리면 의미가 없겠지요. 터치할 때도 풀 스크린을 유지하기 위해 이 기능이 나온것 입니다. UI를 보기 위해서는 화면 밖에서 안으로 쓸어내리면 됩니다. 또한 이런 풀스크린 모드에는 3가지가 존재합니다. 자세한 사항은 여기를 참조하세요.
(개인적으로는 넥서스7 화면이 작아 PDF 보기가 불편했는데 좀 나아지겠네요. ) 간단한 예제는 여기를 참조하세요.



Transitions framework for animating scenes





앱에서 UI상태변화를 알려주기 위해 애니메이션을 사용하는 경우가 많습니다. 4.4에서는 새 프레임웍을 사용해서 간단하게 구현할 수 있게 되었습니다. 장면(Scene)은 뷰와 같은 특정한 계층구조와 각 장면사이의 트랜지션 정보로 구성됩니다. 트랜지션 정보에는 장면으로 진입하거나 벗어날때 사용될 애니메이션 정보가 포함되어 있습니. 사전에 정의된 여러 트랜지션 정보중 하나를 선택할수도 있고 아리면 오토 트랜지션 타입을 선택해서 안드로이드 프레임웍이 알아서 적절한 애니메이션을 적용하도록 합니다


정리해보면 개발자가 쉽게 애니메이션 모드를 적용할 수 있도록 변경되었습니다. 기존에는 애니매니션을 적용하려면 뷰가 어디서 부터 어디까지 움직일지를 정의한 후 애니메이터를 움직여야 했었습니다.그러나 이번 버전은 첫 장면과 이동하고자 하는 최종 장면을 정의해 놓으면 시스템이 알아서 전환합니다. 즉, 먼저 첫번째 화면과 두번째 화면을 정의하고 TransitionManger를 통해서 이를 수행 시킵니다. 이후부터는 중간과정은 시스템이 알아서 진행합니다. 물론 어떤 애니메이션을 통해서 전환할지에 대한 정의도 가능합니다. 네 맘대로 해 라는 값도 있구요


beginDelayedTransition()을 통해서 하고 싶은데로 정의하면 자동으로 알아서 애니메이션을 움직입니다. 예를들어 뷰를 삭제 할 때 이것을 적용하고 addRemove하면 시스템이 알아서 애니메이션을 수행한후 삭제가 진행됩니다. 이러한 애니메이션은 직접 정의할 수도 있고 ,XML을 통해서도 정의할 수 있습니다.(현재 XML은 아직 적용 안됨.)



Translucent system UI styling





콘텐츠를 통해 임팩트를 줄 수 있도록 스테이터스 바와 네비게이션 바를 포함한 반투명한 시스템UI를 요청하는 새로운 윈도우 스타일과 테마를 사용할 수 있습니다. 또한 네비게이션바 버튼이나 스테이터스바의 정보에 대한 가독성을 높이기 위해, 미묘한 그라디언트가 시스템 바 뒤로 보여지게 되었습니다.


Enhanced notification access


Notification 리스너 서비스는 노티 빌더 API를 사용해 노티에 대한 액션 뿐만 아니라 텍스트, 아이콘, 사진, 프로그레스, 크로노미터 등의 많은 정보를 포함 할 수 있게 되었습니다.


Chromium WebView


이제 크로미움에 기반한 웹뷰를 사용할 수 있게 되었습니다. 이 웹뷰는 안드로이드 크롬 브라우저와 동일한 수준의 성능과 호완성을 갖추고 최신 HTML5, CSS3 표준 기술들을 지원하며 V8 자바스크립트 엔진이 탑재되어있습니다. 또한 DevTools이 연동되는 최신 30버전으로 적용되었으며 원격 디버깅을 지원합니다.


앱의 타켓버전을 19로 하면 완전한 크롬버전으로 동작하고 18이하로 설정하면 호환모드로 동작합니다. 그러나 호환모드에서도 기본에 되었던 기능들이 동작하지 않는등 부작용이 있을 수 있기에 꼭꼭 테스트 하셔야합니다.


이에 대한 자세한 내용은 Migrating to WebView in Android 4.4를 참고해 주세요. 제가 마크업 쪽을 잘 몰라 오역한 부분이 있을 수도 있습니다. 이상한 부분은 꼭 원문을 확인해 주시기 바랍니다. 




사업자 정보 표시
SK플래닛 | 서진우 | 경기도 성남시 분당구 판교로 264 the Planet | 사업자 등록번호 : 104-86-36968 | TEL : 02-1600-6573 | Mail : devhelper@tstore.co.kr | 통신판매신고번호 : 제2014-경기성남-0036호 | 사이버몰의 이용약관 바로가기
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글