티스토리 뷰

반응형

Android P 새로운 기능 소개


올해 가을에 최종 버전을 배포할 목적을 두고 있는 Android P의 가장 핵심 기능이 무엇일지 공유하겠습니다.

  • Adaptive Battery

    • App Standby Buckets

    • Background Restrictions

    • Android Vitals

  • Adaptive Action

    • App Links

    • Built-in Intents

  • Slices

    • 템플릿 제공

    • 인터랙션 디자인 제공

    • Updatable


Adaptive Battery

배터리 소모를 줄여주도록 도와주는 기능을 제공합니다. 배터리 소모 줄여주도록 도와주는 기능을 크게 총 세 가지로 정리하면 App Standby Buckets, Background Restrictions, Android Vitals 로 구분할 수 있습니다.

■ App Standby Buckets

앱을 4가지 버킷으로 나눠서 관리합니다. Activity, Working set, Frequent, Rare 사용자가 당장 사용하지 않은 앱들에 대한 제한이 걸립니다.

  • Activity

    현재 사용중인 앱

  • Working set정기적으로 사용하는 앱

  • Frequent

    종종 사용하나 매일 사용 안하는 앱

  • Rare

    자주 사용하지 않는 앱


■ Background Restrictions

불필요한 백그라운드 사용의 제한을 제안하는 기능 제공합니다. 단 Background Restrictions 을 켜게 되면 Background에서 할 수 있는 작업을 나열하는게 빠를 정도로 제약이 걸립니다. 사용자는 명시적으로 Background Restrictions 을 켜고 끌 수 있습니다.

■ Android Vitals

Android Vitals 통하여 백그라운드 작업 등 배터리를 많이 잡고 있는 것이 아닌지 체크해야 할 수 있습니다. Android Vitals 체크를 통하여 Background Restrictions 의 제약을 최소하게 대비할 수 있게 될 것입니다.

Excessive wakeups

잠들어 있는 디바이스를 깨우는 앱들, 너무 길게 앱을 안꺼지게 잡고 있는 앱을 체크합니다.



Adaptive Action

사용자의 행동패턴을 학습한 머신러닝 기반으로 사용자에게 다음 할 행동(Action)을 미리 예측하여 제안합니다.

■ App Links

스마트폰 디바이스에서 사용자가 특정 단어를 검색 했을 시 사용자가 지금 뭘 하고 싶어하는지 머신러닝 기술로 활용하여 GooglePlay 에 있는 추천 할 App을 미리 예측하여 App Actions을 보여줍니다.


Q. App Links로 추천되는 앱 우선순위 기준이 있을까요?

A. 규칙이 있는 것보다 사용자가 가장 잘 사용할 앱을 머신러닝이 판단하여 보여줍니다.

■ Built-in Intents

앱 개발자는 "나의 앱은 000을 원하는 사용자에게 만족할 수 있다." 는 것을 미리 정해놓고 Intent 을 통하여 Built-in Intent에 등록하면 사용자가 무엇인가 액션 할 때 머신러닝으로 미리 등록된 Built-in Intents 기반으로 로 앱 추천을 합니다.


Slices

2008년 RemoteView 로 위젯을 구성하였으나 자유도가 많았기에 만들기 어려웠으며 일관성도 없었습니다. 이러한 어려움을 총 3가지 큰 특징을 보완하여 제공하고 있습니다.

  • 템플릿 제공

    이미 시중에 훌륭한 UI 로 제작된 앱들이 있습니다. 다양한 앱들에서 가장 많이 사용하고 효과적인 UI 을 템플릿 형태로 제공합니다.

  • 인터랙션 디자인 제공

    디바이스와 사용자의 행동간의 상호작용을 용이하게 하게하는 디자인을 제공합니다.

  • Updatable

    새로운 버전 및 기능이 있을 때마다 Support Library 로 지속적인 업데이트 제공합니다.

     



Notification

  • Notification Style 변화

    Messaging Style로 사용자에게 Messaging 한다는 기분을 줄 수 있도록 변경하였습니다.

  • Notification Blocking

    유용하지 않은 Notification을 머신러닝 기술로 판단하여 "사용자에게 이 알람 받지 않게 해줄까?" 라고 물어보고 사용자의 의견을 받아서 알림을 확인 못하게 됩니다.

    Q. Notification Blocking 은 어떤 기준으로 합니까?

    A. Notification Blocking은 Channel을 Block을 합니다. 따라서 중요성에 따른 Channel 을 나눠서 보내는게 좋습니다.

    


노치 디자인

아이폰 X 만 있는 고유한 노치 디자인으로 생각되었는데 요즘 안드로이드 디바이스에서도 노치를 제공하는 디바이스가 많이지고 있습니다.

앱 개발 시 Hard-Coding Status Bar Height했을 경우 노치 디바이스에서는 StatusBar 높이를 침범하게 됩니다. 따라서 Hard-Coding Status Bar을 사용 안하는 것을 권장하고 있습니다.

class MyActivity{
   void onCreate(){
       // toogle fullscreen
       view.setSystemUiVisibility(SYSTME_UI_FLAG_FULLSCREEN)
  }
}




기타 업데이트 사항

그 밖에 업데이트 사항에 대해서 간단히 4가지로 정리하면 다음과 같습니다.

첫번째, private API 사용 금지를 합니다.

단 모든 private API 사용한 앱을 금지하는 것이 아니라 private API을 Public API 로 대체 가능할 경우 변경할 수 있도록 제공하고 있습니다. 만약 private API 을 public API 대체 불가능한 경우 Blocking App 이 됩니다.

두번째, targetSdkVersion 26 이상으로 올려야 합니다.

세번째, 에뮬레이션 속도 향상 되었습니다.

네번째, ChromeOS 가 생겼습니다.


정리

Google IO 2018 Recap 의 주제인 AI와 웰빙이 접목된 Android P 업데이트 사항을 볼 수 있습니다. Android O 보다 더 많이 배터리 소모 방지 기능에 대한 대응 및 정책 마련이 필요해 보입니다. 또한 기존의 Notification 보다 개선된 UI 에 맞는 컨텐츠 개발이 필요해보이며 무엇보다 노치 디자인 대응이 시급해 보입니다. 앞으로는 노치 디자인을 어떻게 할지 고민하는 디자이너가 많아 질 것으로 예상됩니다. 그만큼 개발자 또한 고민을 하면서 UI 구성할 거 같고요. Andoird P 을 통해 어떤 변화가 있을지 기대가 됩니다.

반응형
댓글