lce13: how to make android more efficient
DESCRIPTION
Resource: LCE13 Name: How to make Android more efficient Date: 08-07-2013 Speaker: khasim Mohammed Video: https://www.youtube.com/watch?v=FyEi68j7hV0TRANSCRIPT
Group photograph at Linaro Connect in Copenhagen
Monday 29 Oct 2012
How to make Android
MORE Efficient for entry level products ?
Khasim Syed Mohammed Tech Lead - Android Engineering Team
BUZZ around entry level products
Samsung announces the Galaxy Ace 3, its
new entry-level Android smartphone with
an LTE option
From the online Media
Scope - Related but different issues
We "don't want" to focus on these,
l Another problem that Android is yet to solve is the pace of hardware feeling
obsolete. An upgrade to latest software affects the performance and slowly the
device gets obsolete in just few months from launch.
l Some times even brand new devices typically fail to launch with the latest
version of Android due to multiple reasons across the service providers,
manufacturers, silicon vendors and Google.
l Upgrades not available for every model
What do we mean by "more efficient" ?
Should the
low end
smartphone
support all
the latest
features of
Android JB
or latest
Image: http://www.spicestellar.com/wp-content/uploads/2013/01/Jelly-Bean-Infographic-819x1024.jpg
Basic features expected from a low end
smartphone Apart from the fundamental phone call & messaging other expectations are:
l ability to access the Internet through a browser
l ability to access digital media (video, audio, images)
l ability to record audio / video and capture images / scan codes
l ability to upload media on cloud, use social media apps and share the content instantly.
l ability to track current location using GPS, leverage maps & location specific services and apps
l ability to access a repository of thousands of apps (play / market)
l ability to have access to e-mail while on the move
l ability to download latest 3D accelerated games and play offline
l ability to use application specific input peripherals like Keys, multi-touch screen, accelerometer,
sensors, etc.
l ability to communicate with other devices over Bluetooth, NFC, WiFi.
Hardware specification
Low End High end or Latest
DISPLAY TFT capacitive touchscreen, 256K colors LED, capacitive touchscreen, 16M colors
320 x 480 pixels, 3.5 inches (~165 ppi pixel
density) – 800x480 is also becoming std.
1080 x 1920 pixels, 5.0 inches (~441 ppi pixel
density)
Memory RAM 512 MB 2 GB
CPU 1 GHz QuadCore 1.9 GHz and above
DATA Speed HSDPA 7.2 Mbps HSDPA 42.2Mbps
CAMERA 5 MP, 2592х1944 pixels 13 MP, 4128 x 3096 pixels
VGA@25fps 1080p@30fps, dual-video rec.
Yes, VGA Yes, 2 MP,1080p@30fps, dual video call
3D Graphics 300MHz 19.2 GFLOPS (approx) 533MHz, 51.1 GFLOPS (approx)
Video Playback WVGA (800 x 480) Full HD (1080p)
Recording up to 25fps, Decoding up to 30fps Full HD (1080p)
BATTERY Li-Ion 1300 mAh battery Li-Ion 2600 mAh battery
While there are many differences, the below table captures only that are relevant and important
How to make Android more efficient for
entry level products and improve the overall
Android experience ... ?
Exploring and Optimizing
Optimizing applications like browsers, email, SMS, media
players don't solve the problem generically and users have
multiple choices for each of these apps and they generally
don't stick with one.
Therefore, we have to focus on finding
and addressing common frameworks.
We have identified the top 10 areas to work on to make Android efficient for entry level products :
1. Fix the Janky
lAndroid is still too often "janky," meaning that changes on the screen stutter or pause instead of moving
smoothly.
lMost of these are due to high resolution with limited processing power, limited processing power of 3D
accelerator or limited memory availability and so on.
2. Reduce Data consumption
lBrowsers, Email clients, SMS, Instant chat and many other applications transfer data to/from internet.
lThe additional data required (not the payload) can be reduced and hence the consumption. This will help in
quick page loads and fast transfers, reduced data usage for mobile users.
lMore details in this report: Smartphone Efficiency Report - Rysavy Research
3. Optimize input event handlers for better responses
lUser experience depends a lot on the device response, meaning – the instant we input through keypad or
touch and the time taken to get visible response, if the response time is more then UI experience is bad and
vice versa.
lThere are multiple input devices like Touch, keypad, accelerometer, sensors, etc where in event handler can
be tuned to achieve best possible response.
Compilation of iDeas :-
4. Upgrade the frameworks to leverage VFP v4 and NEON
lARM Cortex A7 & A15 introduces the latest versions of VFP v4 and NEON
lAndroid frameworks (Dalvik, V8 Java script, etc) can be optimized to leverage these units. lhttp://infocenter.arm.com/help/topic/com.arm.doc.ddi0462d/DDI0462D_cortex_a7_neon_mpe_r0p3_trm.pdf
5. Optimize memory utilization and accesses
lFree up the storage space on the device to improve the performance by cleaning up unused apps & files,
cleaning app cache, recycle the memory when the app gets closed, etc – as examples.
6. Effectively use Open MP in Android
lWith ARM Cortex A7 multi-core being used in almost every entry level product it is kind of important to
consider OpenMP APIs to leverage the multi-core parallel processing.
7. Improve Battery management
lProfile the power utilization for various applications, target the top few (social, media, games) apps to begin
with.
lFind the rootcause if it's connectivity, need for more CPU bandwidth, memory access for logging, etc.
Compilation of iDeas :-
More of SOC / chipset / platform specific
8. Power optimizations for Audio playback
lImprove continuous Audio playback and reduce draining of battery.
lGenerally Mediaserver drains battery very quickly.
9. Power optimizations for Video playback
lImprove continuous Video playback and reduce draining of battery.
lGenerally Mediaserver drains battery very quickly
10. Improve network throughput mainly for 3G data transfers
lImprove or boost the network signal and optimize the network stack to achieve better network throughput.
Compilation of iDeas :-
Next steps - Plan
lReview the ideas presented with engineers across the teams
and organizations at LCE 13 – end of this week
lComplete the feasibility study & implementation / design
– by end of July 2013
lEstimate the effort required and pushing the same to AOSP –
by mid August 2013
lFormal presentation to TSC with resource & effort estimate –
by end of August 2013
lImplementation begins with low hanging first –
by September 2013