android performance
TRANSCRIPT
Battery Life is very important to the consumersBattery Life
WiFi Speed/Quality
Touch Screen
Screen/Display Size
Display Type/ Quality
Connectivity
Memory
Display Resolution
0 10 20 30 40 50 60 70 80 90 100
38%
42%
44%
46%
46%
48%
52%
72%
Source: Qualcomm Band Tracker, Market Search Group, US
..but it is a Developer’s concern
Power is a part of User Experience
Power is important to the Mobile users
“Bad” ratings / Uninstall is the only escape
Just the right moment (no sleep?)
Uploading of Files/Songs
Cropping of Images
Unwanted loading
WakeloackAlarm managerJob scheduler
Tips for Optimize network power Prefetch data
Batch transfer and connections
Detect network state
Avoid polling
Use caching
Varying download pattern
Monitor charge level and state
Monitor and determine docking state
Programmatic control over features
Use the DDMS Network Traffic Tool
Prefetch Data
A way to avoid number of independent data transfer sessions
Allows user to download all the data in a given period in a single burst & connection, at full capacity
Reduces radio activations and bandwidth, improves battery life and latency
e.g Music Player, News reader
Batch transfer and connectionsBundle your data transfers and create a pending transfer queue
Transfer as much data as possible during each transfer session to limit the number of sessions you require
Detect Network State
WiFi will be fast and Cheap - give priority
Are you on Roaming?
Avoid connections if NO Network is available.
Manipulate Broadcast receivers on demand
Varying Download Pattern
Modify the pattern based on connection type
Download more data per session on faster networks
..but involve user in this scene
Force a quicker pre-fetch
Monitor charge level and stateMaximise app updates and its frequency when battery is chargingAvoid updates when charge state is discharging
Monitor and Determine Docking State
Dock-State is typically linked to the charging stage
Opt to update the frequency of update when charged with desktop dock than car dock
Dock Types
Car Desk Low-End (Analog) Desk
High-End (Digital) Desk
Programmatic Control over Features
Darker Color, Lesser Consumption
Brightness Level have more impact
An expensive component if used in an app
Avoid fine-point location, unless really necessary
Tips for using App’s Data Using Services Sparingly ( use IntentService) Release memory when User switch apps( onTrimMemory() ) Release memory as memory becomes tight Avoid OutofMemory Avoid wasting memory with bitmaps Be aware of memory overhead Avoid dependency injection frameworks Be careful about using external libraries Optimize overall performance Use ProGuard to strip out any unneeded code Use ZipAlign ( avoids high RAM usage) Analyze your RAM usage Use Multiple Processes ( e.g music player)
ANDROCID MEDIA PVT. LTD.
PRAJYOT MAINKAR [email protected] +91 98229 87513
CONTACT DETAILS http://www.androcid.com