12
How to make Android MORE Efficient for entry level products ? Khasim Syed Mohammed Tech Lead - Android Engineering Team

LCE13: How to make Android more efficient

  • Upload
    linaro

  • View
    187

  • Download
    1

Embed Size (px)

DESCRIPTION

Resource: LCE13 Name: How to make Android more efficient Date: 08-07-2013 Speaker: khasim Mohammed Video: https://www.youtube.com/watch?v=FyEi68j7hV0

Citation preview

Page 1: LCE13: How to make Android more efficient

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

Page 2: LCE13: How to make Android more efficient

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

Page 3: LCE13: How to make Android more efficient

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

Page 4: LCE13: How to make Android more efficient

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

Page 5: LCE13: How to make Android more efficient

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.

Page 6: LCE13: How to make Android more efficient

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

Page 7: LCE13: How to make Android more efficient

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.

Page 8: LCE13: How to make Android more efficient

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 :-

Page 9: LCE13: How to make Android more efficient

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 :-

Page 10: LCE13: How to make Android more efficient

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 :-

Page 11: LCE13: How to make Android more efficient

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

Page 12: LCE13: How to make Android more efficient

Thank you & Let's work together

Register to participate or to get latest updates

[email protected]