SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Memory Tuning
Android for Low-RAM
Devices
Chris Kühl & Iago López Galeiras, Endocode AG
What's low-RAM?
< 512MB
512MB? That's so 2012!
Why do that to yourself?
You have no choice ;)
Mod-maintainer for older device
Android on embedded devices
Virtualized Android, anyone?
What to tune?
Apps
Dalvik VM
Activity Manager
Linux kernel
Apps
Be a good citizen
Apps that manage their own memory well make the whole
system run better
Keep Your Apps Trim
Google says,
You should implement onTrimMemory(int) to
incrementally release memory based on current
system constraints.
7 Trim Levels
Running Cached
TRIM_MEMORY_RUNNING_MODERATE TRIM_MEMORY_BACKGROUND
TRIM_MEMORY_RUNNING_LOW TRIM_MEMORY_MODERATE
TRIM_MEMORY_RUNNING_CRITICAL TRIM_MEMORY_COMPLETE
...and TRIM_MEMORY_UI_HIDDEN
TRIM_MEMORY_COMPLETE ≈ onLowMemory
Dalvik VM
Android Java VM
DEX format
Zygote
Dalvik is chatty
Dalvik's logcat output can paint a pretty good picture.
12-3015:35:43.135:D/dalvikvm(15368):GC_EXPLICITfreed39K,66%free2349K/6788K,p
aused24ms+8ms,total129ms
12-3015:35:43.682:D/dalvikvm(15368):GC_CONCURRENTfreed282K,5%free10382K/10823
K,paused5ms+4ms
12-3015:35:44.043:D/dalvikvm(15368):GC_CONCURRENTfreed319K,5%free10507K/10951
K,paused3ms+3ms
12-3015:35:44.723:D/dalvikvm(15368):GC_CONCURRENTfreed364K,5%free10568K/11079
K,paused3ms+4ms
12-3015:35:44.803:D/dalvikvm(15368):GC_FOR_ALLOCfreed312K,6%free10549K/11207K
,paused31ms
12-3015:35:45.034:D/dalvikvm(15368):GC_FOR_ALLOCfreed316K,6%free10542K/11207K
,paused48ms
12-3015:35:45.074:D/dalvikvm(15368):GC_FOR_ALLOCfreed1K,6%free10631K/11207K,
paused43ms
Dalvik Properties
Generally set these in PRODUCT_PROPERTY_OVERRIDES.
PRODUCT_PROPERTY_OVERRIDES:=
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=128m
dalvik.vm.heaptargetutilization=0.80
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=2m
Dalvik VM - JIT
Google says...
For the really low-memory devices, we recommend
the JIT be disabled entirely.
Can save up to 1.5MB per process!
ActivityManager
Managing activities since 2008
ActivityManager & Memory
management
Continually ranks apps based on their importance to the user.
Adjustments
staticfinalintHIDDEN_APP_MAX_ADJ=15;
staticintHIDDEN_APP_MIN_ADJ=9;
staticfinalintSERVICE_B_ADJ=8;
staticfinalintPREVIOUS_APP_ADJ=7;
staticfinalintHOME_APP_ADJ=6;
staticfinalintSERVICE_ADJ=5;
staticfinalintBACKUP_APP_ADJ=4;
staticfinalintHEAVY_WEIGHT_APP_ADJ=3;
staticfinalintPERCEPTIBLE_APP_ADJ=2;
staticfinalintVISIBLE_APP_ADJ=1;
staticfinalintFOREGROUND_APP_ADJ=0;
staticfinalintPERSISTENT_PROC_ADJ=-12;
staticfinalintSYSTEM_ADJ=-16;
lowmemorykiller
A kernel module to preempt the oom and provide an interface
for user-space to prioritize apps
cat/sys/module/lowmemorykiller/parameters/adj
0,1,2,4,9,15
cat/sys/module/lowmemorykiller/parameters/minfree
3031,4218,5406,7454,8642,10158
Configuring
lowmemorykiller
privatefinalint[]mOomAdj=newint[]{
FOREGROUND_APP_ADJ,VISIBLE_APP_ADJ,PERCEPTIBLE_APP_ADJ,
BACKUP_APP_ADJ,HIDDEN_APP_MIN_ADJ,HIDDEN_APP_MAX_ADJ
};
privatefinallong[]mOomMinFreeLow=newlong[]{
8192,12288,16384,
24576,28672,32768
};
privatefinallong[]mOomMinFreeHigh=newlong[]{
32768,40960,49152,
57344,65536,81920
};
dumpsys meminfo
TotalPSSbyOOMadjustment:
18642kB:System
18642kB:system(pid451)
13979kB:Persistent
9884kB:com.android.systemui(pid1791)
4095kB:com.android.phone(pid689)
18349kB:Foreground
18349kB:com.android.launcher(pid3106)
18895kB:Visible
9498kB:com.google.process.gapps(pid735)
7078kB:com.google.process.location(pid667)
2319kB:com.android.smspush(pid795)
8222kB:Perceptible
5623kB:com.android.inputmethod.latin(pid646)
2599kB:com.android.location.fused(pid676)
2810kB:AServices
2810kB:de.telekom.droidsync(pid3117)
45844kB:Background
14552kB:android.process.acore(pid3133)
5566kB:com.google.android.syncadapters.calendar(pid3270)
5475kB:com.google.android.apps.genie.geniewidget(pid3185)
4940kB:com.google.android.gsf.login(pid3254)
4362kB:com.android.browser(pid3359)
3898kB:com.android.calendar(pid3305)
3691kB:com.android.providers.calendar(pid3286)
3360kB:com.cyanogenmod.lockclock(pid3327)
dumpsys activity oom (1/3)
OOMlevels:
SYSTEM_ADJ:-16
PERSISTENT_PROC_ADJ:-12
FOREGROUND_APP_ADJ:0
VISIBLE_APP_ADJ:1
PERCEPTIBLE_APP_ADJ:2
HEAVY_WEIGHT_APP_ADJ:3
BACKUP_APP_ADJ:4
SERVICE_ADJ:5
HOME_APP_ADJ:6
PREVIOUS_APP_ADJ:7
SERVICE_B_ADJ:8
HIDDEN_APP_MIN_ADJ:10
HIDDEN_APP_MAX_ADJ:15
dumpsys activity oom (2/3)
ProcessOOMcontrol:
PERS#7:adj=sys /F trm=15451:system/1000(fixed)
oom:max=-16hidden=10client=10empty=10curRaw=-16setRaw=-16cur=-16set=-16
keeping=truehidden=falseempty=falsehasAboveClient=false
PERS#10:adj=pers/F trm=15689:com.android.phone/1001(fixed)
oom:max=-12hidden=10client=10empty=10curRaw=-12setRaw=-12cur=-12set=-12
keeping=truehidden=falseempty=falsehasAboveClient=false
PERS#3:adj=pers/F trm=151791:com.android.systemui/u0a10030(fixed)
oom:max=-12hidden=10client=10empty=10curRaw=-12setRaw=-12cur=-12set=-12
keeping=truehidden=falseempty=falsehasAboveClient=false
Proc#0:adj=fore/FAtrm=153106:com.android.launcher/u0a10022(top-activity)
oom:max=15hidden=10client=10empty=10curRaw=0setRaw=0cur=0set=0
keeping=truehidden=falseempty=falsehasAboveClient=false
Proc#9:adj=vis /F trm=15795:com.android.smspush/u0a10032(service)
com.android.smspush/.WapPushManager<=Proc{689:com.android.phone/1001}
oom:max=15hidden=10client=10empty=10curRaw=1setRaw=1cur=1set=1
keeping=truehidden=falseempty=truehasAboveClient=false
dumpsys activity oom (3/3)
ProcessesthatarewaitingtoGC:
ProcessProcessRecord{422a4260735:com.google.process.gapps/u0a10033}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
ProcessProcessRecord{422f13b0451:system/1000}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
ProcessProcessRecord{4247c388667:com.google.process.location/u0a10033}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
ProcessProcessRecord{4231a630646:com.android.inputmethod.latin/u0a10021}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
ProcessProcessRecord{4250cfe0676:com.android.location.fused/u0a10018}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
ProcessProcessRecord{422f2dd81791:com.android.systemui/u0a10030}
lowMem=true,lastgced=3110616msago,lastlowMem=18198msago
Now for the
Kernel Bits
KSM
Kernel SamePage Merging
KSM can save about 20-30MB of RAM if given a chance
Enabling KSM
This is easy-peasy
echo1|tee/sys/kernel/mm/ksm/run
echo1000|tee/sys/kernel/mm/ksm/sleep_millisecs
echo128|tee/sys/kernel/mm/ksm/pages_to_scan
Oh yeah...
You need to mark pages as mergeable.
void*mmap(void*addr,size_tsize,intprot,intflags,intfd,off_toffset){
...
if(result!=MAP_FAILED&&(flags&(MAP_PRIVATE|MAP_ANONYMOUS))!=0){
ErrnoRestorererrno_restorer;
madvise(result,size,MADV_MERGEABLE);
}
returnresult;
}
Is it working?
dumpsys meminfo answers this
TotalPSS:126741kB
KSM:6672kBsavedfromshared1128kB
24552kBunshared;102936kBvolatile
extra_free_kbytes
Raises the low water mark used to trigger kswapd
References
Dalvik VM Internals - 2008 Google I/O
A JIT Compiler for Android's Dalvik VM - 2010 Google I/O
Running Android with low RAM
Managing Your App's Memory
Investigating your RAM Usage
Understanding the Linux Virtual Memory Manager - Zones
Reducing Memory Access Lateny
THE END

Weitere ähnliche Inhalte

Was ist angesagt?

Arm cortex-m4 programmer model
Arm cortex-m4 programmer modelArm cortex-m4 programmer model
Arm cortex-m4 programmer modelMohammed Gomaa
 
Msp 430 architecture module 1
Msp 430 architecture module 1Msp 430 architecture module 1
Msp 430 architecture module 1SARALA T
 
COSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingCOSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingEric Lin
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipRISC-V International
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Pierre-jean Texier
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EASLinaro
 
Linux Kernel Module - For NLKB
Linux Kernel Module - For NLKBLinux Kernel Module - For NLKB
Linux Kernel Module - For NLKBshimosawa
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationBalaji Vignesh
 
RAM (Random Access Memory)
RAM (Random Access Memory)RAM (Random Access Memory)
RAM (Random Access Memory)divyanshbatham
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival GuideKernel TLV
 
Computer memory
Computer memoryComputer memory
Computer memoryJayapal Jp
 
Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Champ Yen
 
18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptxrakshitha481121
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPALinaro
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewRajKumar Rampelli
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewMoriyoshi Koizumi
 

Was ist angesagt? (20)

Arm cortex-m4 programmer model
Arm cortex-m4 programmer modelArm cortex-m4 programmer model
Arm cortex-m4 programmer model
 
Msp 430 architecture module 1
Msp 430 architecture module 1Msp 430 architecture module 1
Msp 430 architecture module 1
 
COSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem portingCOSCUP 2020 RISC-V 32 bit linux highmem porting
COSCUP 2020 RISC-V 32 bit linux highmem porting
 
eMMC 5.0 Total IP Solution
eMMC 5.0 Total IP SolutioneMMC 5.0 Total IP Solution
eMMC 5.0 Total IP Solution
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
 
BKK16-208 EAS
BKK16-208 EASBKK16-208 EAS
BKK16-208 EAS
 
Linux Kernel Module - For NLKB
Linux Kernel Module - For NLKBLinux Kernel Module - For NLKB
Linux Kernel Module - For NLKB
 
USB Drivers
USB DriversUSB Drivers
USB Drivers
 
Network Drivers
Network DriversNetwork Drivers
Network Drivers
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O Organization
 
Ram and its types
Ram and its typesRam and its types
Ram and its types
 
RAM (Random Access Memory)
RAM (Random Access Memory)RAM (Random Access Memory)
RAM (Random Access Memory)
 
DMA Survival Guide
DMA Survival GuideDMA Survival Guide
DMA Survival Guide
 
Computer memory
Computer memoryComputer memory
Computer memory
 
Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack Linux SD/MMC Driver Stack
Linux SD/MMC Driver Stack
 
18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx
 
BKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPABKK16-317 How to generate power models for EAS and IPA
BKK16-317 How to generate power models for EAS and IPA
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
 

Andere mochten auch

Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidUA Mobile
 
Android Memory , Where is all My RAM
Android Memory , Where is all My RAM Android Memory , Where is all My RAM
Android Memory , Where is all My RAM Yossi Elkrief
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices Amgad Muhammad
 
Process control daemon
Process control daemonProcess control daemon
Process control daemonhaish
 
Android memory fundamentals
Android memory fundamentalsAndroid memory fundamentals
Android memory fundamentalsTaras Leskiv
 
Linux memory consumption
Linux memory consumptionLinux memory consumption
Linux memory consumptionhaish
 
flashcache原理及改造
flashcache原理及改造flashcache原理及改造
flashcache原理及改造Hao(Robin) Dong
 
Device mapper multipathing
Device mapper multipathingDevice mapper multipathing
Device mapper multipathingAnand Loganathan
 
Android vs iOS encryption systems
Android vs iOS encryption systemsAndroid vs iOS encryption systems
Android vs iOS encryption systemsBirju Tank
 
LCA13: Memory Hotplug on Android
LCA13: Memory Hotplug on AndroidLCA13: Memory Hotplug on Android
LCA13: Memory Hotplug on AndroidLinaro
 
Memory Analysis of the Dalvik (Android) Virtual Machine
Memory Analysis of the Dalvik (Android) Virtual MachineMemory Analysis of the Dalvik (Android) Virtual Machine
Memory Analysis of the Dalvik (Android) Virtual MachineAndrew Case
 
Mobile Device Encryption Systems
Mobile Device Encryption SystemsMobile Device Encryption Systems
Mobile Device Encryption SystemsPeter Teufl
 
Android Rooting and Flashing
Android Rooting and FlashingAndroid Rooting and Flashing
Android Rooting and FlashingMuhammad Ehsan
 
Android performance tuning. Memory.
Android performance tuning. Memory.Android performance tuning. Memory.
Android performance tuning. Memory.Sergii Kozyrev
 
Tuning Android Applications (Part One)
Tuning Android Applications (Part One)Tuning Android Applications (Part One)
Tuning Android Applications (Part One)CommonsWare
 
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile AppsDeep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile AppsDavide De Chiara
 
Objective-C for Java developers
Objective-C for Java developersObjective-C for Java developers
Objective-C for Java developersFábio Bernardo
 

Andere mochten auch (20)

Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in AndroidАлександр Терещук - Memory Analyzer Tool and memory optimization tips in Android
Александр Терещук - Memory Analyzer Tool and memory optimization tips in Android
 
Android Memory , Where is all My RAM
Android Memory , Where is all My RAM Android Memory , Where is all My RAM
Android Memory , Where is all My RAM
 
Memory in Android
Memory in AndroidMemory in Android
Memory in Android
 
Android Performance Best Practices
Android Performance Best Practices Android Performance Best Practices
Android Performance Best Practices
 
Poster_Jan
Poster_JanPoster_Jan
Poster_Jan
 
Process control daemon
Process control daemonProcess control daemon
Process control daemon
 
Android memory fundamentals
Android memory fundamentalsAndroid memory fundamentals
Android memory fundamentals
 
Linux memory consumption
Linux memory consumptionLinux memory consumption
Linux memory consumption
 
flashcache原理及改造
flashcache原理及改造flashcache原理及改造
flashcache原理及改造
 
Device mapper multipathing
Device mapper multipathingDevice mapper multipathing
Device mapper multipathing
 
Android vs iOS encryption systems
Android vs iOS encryption systemsAndroid vs iOS encryption systems
Android vs iOS encryption systems
 
LCA13: Memory Hotplug on Android
LCA13: Memory Hotplug on AndroidLCA13: Memory Hotplug on Android
LCA13: Memory Hotplug on Android
 
Memory Analysis of the Dalvik (Android) Virtual Machine
Memory Analysis of the Dalvik (Android) Virtual MachineMemory Analysis of the Dalvik (Android) Virtual Machine
Memory Analysis of the Dalvik (Android) Virtual Machine
 
Stan winston & animatronics
Stan winston & animatronicsStan winston & animatronics
Stan winston & animatronics
 
Mobile Device Encryption Systems
Mobile Device Encryption SystemsMobile Device Encryption Systems
Mobile Device Encryption Systems
 
Android Rooting and Flashing
Android Rooting and FlashingAndroid Rooting and Flashing
Android Rooting and Flashing
 
Android performance tuning. Memory.
Android performance tuning. Memory.Android performance tuning. Memory.
Android performance tuning. Memory.
 
Tuning Android Applications (Part One)
Tuning Android Applications (Part One)Tuning Android Applications (Part One)
Tuning Android Applications (Part One)
 
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile AppsDeep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile Apps
 
Objective-C for Java developers
Objective-C for Java developersObjective-C for Java developers
Objective-C for Java developers
 

Ähnlich wie Tuning android for low ram devices

Optimisation and performance in Android
Optimisation and performance in AndroidOptimisation and performance in Android
Optimisation and performance in AndroidRakesh Jha
 
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...Padma shree. T
 
Effective memory management
Effective memory managementEffective memory management
Effective memory managementYurii Kotov
 
Effective memory management
Effective memory managementEffective memory management
Effective memory managementDenis Zhuchinski
 
Provision Intel® Optane™ DC Persistent Memory in Linux*
Provision Intel® Optane™ DC Persistent Memory in Linux*Provision Intel® Optane™ DC Persistent Memory in Linux*
Provision Intel® Optane™ DC Persistent Memory in Linux*Intel® Software
 
Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Paris Android User Group
 
ODROID Magazine August 2014
ODROID Magazine August 2014ODROID Magazine August 2014
ODROID Magazine August 2014Nanik Tolaram
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technologyGagandeep Nanda
 
Android Development Tools Overview
Android Development Tools OverviewAndroid Development Tools Overview
Android Development Tools OverviewMike Wolfson
 
Android Mobile forensics with custom recoveries
Android Mobile forensics with custom recoveriesAndroid Mobile forensics with custom recoveries
Android Mobile forensics with custom recoveriesIbrahim Mosaad
 
S3 l6 db2 - memory model
S3 l6   db2 - memory modelS3 l6   db2 - memory model
S3 l6 db2 - memory modelMohammad Khan
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel HackingDeveler S.r.l.
 
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidThe Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidStanojko Markovik
 
"Avoiding memory leaks in Android" Денис Жучинский
"Avoiding memory leaks in Android" Денис Жучинский"Avoiding memory leaks in Android" Денис Жучинский
"Avoiding memory leaks in Android" Денис ЖучинскийFwdays
 
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...Romeo Kienzler
 
Techiques for Writing Embedded Code_Internet of Things
Techiques for Writing Embedded Code_Internet of ThingsTechiques for Writing Embedded Code_Internet of Things
Techiques for Writing Embedded Code_Internet of Thingsalengadan
 
Windows Mobile 6.5 메모리관리
Windows Mobile 6.5 메모리관리Windows Mobile 6.5 메모리관리
Windows Mobile 6.5 메모리관리Seo Jinho
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Androidnatdefreitas
 

Ähnlich wie Tuning android for low ram devices (20)

Optimisation and performance in Android
Optimisation and performance in AndroidOptimisation and performance in Android
Optimisation and performance in Android
 
Android Memory Management
Android Memory ManagementAndroid Memory Management
Android Memory Management
 
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
 
Effective memory management
Effective memory managementEffective memory management
Effective memory management
 
Effective memory management
Effective memory managementEffective memory management
Effective memory management
 
Provision Intel® Optane™ DC Persistent Memory in Linux*
Provision Intel® Optane™ DC Persistent Memory in Linux*Provision Intel® Optane™ DC Persistent Memory in Linux*
Provision Intel® Optane™ DC Persistent Memory in Linux*
 
Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013Thinking cpu & memory - DroidCon Paris 18 june 2013
Thinking cpu & memory - DroidCon Paris 18 june 2013
 
X Means Y
X Means YX Means Y
X Means Y
 
ODROID Magazine August 2014
ODROID Magazine August 2014ODROID Magazine August 2014
ODROID Magazine August 2014
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 
Android Development Tools Overview
Android Development Tools OverviewAndroid Development Tools Overview
Android Development Tools Overview
 
Android Mobile forensics with custom recoveries
Android Mobile forensics with custom recoveriesAndroid Mobile forensics with custom recoveries
Android Mobile forensics with custom recoveries
 
S3 l6 db2 - memory model
S3 l6   db2 - memory modelS3 l6   db2 - memory model
S3 l6 db2 - memory model
 
Workshop su Android Kernel Hacking
Workshop su Android Kernel HackingWorkshop su Android Kernel Hacking
Workshop su Android Kernel Hacking
 
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with androidThe Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
 
"Avoiding memory leaks in Android" Денис Жучинский
"Avoiding memory leaks in Android" Денис Жучинский"Avoiding memory leaks in Android" Денис Жучинский
"Avoiding memory leaks in Android" Денис Жучинский
 
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
 
Techiques for Writing Embedded Code_Internet of Things
Techiques for Writing Embedded Code_Internet of ThingsTechiques for Writing Embedded Code_Internet of Things
Techiques for Writing Embedded Code_Internet of Things
 
Windows Mobile 6.5 메모리관리
Windows Mobile 6.5 메모리관리Windows Mobile 6.5 메모리관리
Windows Mobile 6.5 메모리관리
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 

Mehr von Droidcon Berlin

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google castDroidcon Berlin
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limitsDroidcon Berlin
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility Droidcon Berlin
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_backDroidcon Berlin
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building AndroidDroidcon Berlin
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Droidcon Berlin
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkraussDroidcon Berlin
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014Droidcon Berlin
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidconDroidcon Berlin
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradioDroidcon Berlin
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon Berlin
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon Berlin
 

Mehr von Droidcon Berlin (20)

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google cast
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
crashing in style
crashing in stylecrashing in style
crashing in style
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility
 
Details matter in ux
Details matter in uxDetails matter in ux
Details matter in ux
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_back
 
droidparts
droidpartsdroidparts
droidparts
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
5 tips of monetization
5 tips of monetization5 tips of monetization
5 tips of monetization
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building Android
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkrauss
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidcon
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradio
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicro
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenberg
 

Tuning android for low ram devices