Looking to improve app performance? Check out this deck that will help to get more of the app's performance and improving resources of the android app. Some of these tips will help you to build android app for performance.
6. Battery Life is very important to the consumers
Battery 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
7. ..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
16. GPS: God of Battery Drain
Do you really need GPS?
Approximation?
Ask UserCarry On
WTH?
YesNo
YesNo
17. 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
18. 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
19. Batch transfer and connections
Bundle 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
20. 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
21. Using GCM instead of Polling
New News?
No
New News?
No
New News?
No
New News available
OK
23. 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
24. Monitor charge level and state
Maximise app updates and its frequency when battery is
charging
Avoid updates when charge state is discharging
25. 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
26. 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
28. 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)