Google IO 2016: Android Battery and Memory Optimizations
Tech lead of the Volta team inside Android
Product Manager on the Android framework team, working on battery life and memomry optimizations
Power consumption state는 크게 두가지로 나뉜다.
- 첫 번째는 Screen ON 상태이고
- 두 번째는 Screen OFF 상태이다.
대부분의 시간은 Screen OFF의 상태로 사람의 주머니에서 동작하므로 이 상태에 대해서 주목할 필요가 있다.
Screen OFF 상태에서는 CPU와 Radios가 주된 Power consumption을 차지 하게 된다.
이러한 Background process에 의한 Power consumption을 줄이기 위한 방법은 3가지가 있다.
- reduce all
- Reduce all backgorund acitivity.
- If background activity must be performed, defer it to when device is on charger.
- If it cannot be deferred, coalesce it with other background activity to reduce wakeup overhead.
Doze and App Standby in Marshmallow
If I used instant message app, then this app did not receive message for a long time. If so, it goes in app standby, then I might miss the incoming instant messages or video calls beacuse the app is in App Standby?
No your message go through. So for that use case, we as part of Doze and App Standby we launched something called a high-priority Google Cloud
High-priority GCM (now FCM) messages
- Grant apps temporary wakelock and network access
- For use cases requiring immediate notification to user
- Normal FCM messages batched to maintenance window
Doze & App Standby disabled by default in AOSP Requres Firebase Cloud Message (in Google Play Services) or alternative cloud push messaging service
- Exempt from Doze and App Standby
- For use cases such as music playback
- For alarms that need to trigger while device is in Doze
- Users can add app to whitelist via Settings
- Apps can prompt users at runtime if they meet acceptable use case requirements and pass Play Store review