Enviar búsqueda
Cargar
Tuning Android Applications (Part One)
•
5 recomendaciones
•
1,089 vistas
C
CommonsWare
Seguir
From th
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 19
Descargar ahora
Descargar para leer sin conexión
Recomendados
Lec 9-os-review
Lec 9-os-review
Mothi R
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile Apps
Davide De Chiara
Objective-C for Java developers
Objective-C for Java developers
Fábio Bernardo
Android performance tuning. Memory.
Android performance tuning. Memory.
Sergii Kozyrev
iOS Developer Overview - DevWeek 2014
iOS Developer Overview - DevWeek 2014
Paul Ardeleanu
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Haribabu Nandyal Padmanaban
Introduction to ART (Android Runtime)
Introduction to ART (Android Runtime)
Iordanis (Jordan) Giannakakis
iOS Application Testing
iOS Application Testing
Mreetyunjaya Daas
Recomendados
Lec 9-os-review
Lec 9-os-review
Mothi R
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile Apps
Davide De Chiara
Objective-C for Java developers
Objective-C for Java developers
Fábio Bernardo
Android performance tuning. Memory.
Android performance tuning. Memory.
Sergii Kozyrev
iOS Developer Overview - DevWeek 2014
iOS Developer Overview - DevWeek 2014
Paul Ardeleanu
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Haribabu Nandyal Padmanaban
Introduction to ART (Android Runtime)
Introduction to ART (Android Runtime)
Iordanis (Jordan) Giannakakis
iOS Application Testing
iOS Application Testing
Mreetyunjaya Daas
Performance optimization for Android
Performance optimization for Android
Arslan Anwar
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
Linaro
Tuning android for low ram devices
Tuning android for low ram devices
Droidcon Berlin
Android Performance Best Practices
Android Performance Best Practices
Amgad Muhammad
Objective-C for Java Developers
Objective-C for Java Developers
Bob McCune
Java Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and Tuning
Carol McDonald
Jvm Performance Tunning
Jvm Performance Tunning
Terry Cho
Layer architecture of ios (1)
Layer architecture of ios (1)
dwipalp
Building iOS App Project & Architecture
Building iOS App Project & Architecture
Massimo Oliviero
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
Google ART (Android RunTime)
Google ART (Android RunTime)
Niraj Solanke
Designing better user interfaces
Designing better user interfaces
Johan Ronsse
Android & iOS Automation Using Appium
Android & iOS Automation Using Appium
Mindfire Solutions
Architecting iOS Project
Architecting iOS Project
Massimo Oliviero
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
David Truxall
MySQL Tuning
MySQL Tuning
Ford AntiTrust
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
Jeremy Johnson
Ios vs android
Ios vs android
sumitvikram
iOS design: a case study
iOS design: a case study
Johan Ronsse
X Means Y
X Means Y
CommonsWare
Tuning Android Applications (Part Deux)
Tuning Android Applications (Part Deux)
CommonsWare
JVM Performance Tuning
JVM Performance Tuning
Jeremy Leisy
Más contenido relacionado
Destacado
Performance optimization for Android
Performance optimization for Android
Arslan Anwar
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
Linaro
Tuning android for low ram devices
Tuning android for low ram devices
Droidcon Berlin
Android Performance Best Practices
Android Performance Best Practices
Amgad Muhammad
Objective-C for Java Developers
Objective-C for Java Developers
Bob McCune
Java Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and Tuning
Carol McDonald
Jvm Performance Tunning
Jvm Performance Tunning
Terry Cho
Layer architecture of ios (1)
Layer architecture of ios (1)
dwipalp
Building iOS App Project & Architecture
Building iOS App Project & Architecture
Massimo Oliviero
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
OSSCube
Google ART (Android RunTime)
Google ART (Android RunTime)
Niraj Solanke
Designing better user interfaces
Designing better user interfaces
Johan Ronsse
Android & iOS Automation Using Appium
Android & iOS Automation Using Appium
Mindfire Solutions
Architecting iOS Project
Architecting iOS Project
Massimo Oliviero
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
David Truxall
MySQL Tuning
MySQL Tuning
Ford AntiTrust
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
Jeremy Johnson
Ios vs android
Ios vs android
sumitvikram
iOS design: a case study
iOS design: a case study
Johan Ronsse
Destacado
(19)
Performance optimization for Android
Performance optimization for Android
LAS16-201: ART JIT in Android N
LAS16-201: ART JIT in Android N
Tuning android for low ram devices
Tuning android for low ram devices
Android Performance Best Practices
Android Performance Best Practices
Objective-C for Java Developers
Objective-C for Java Developers
Java Garbage Collection, Monitoring, and Tuning
Java Garbage Collection, Monitoring, and Tuning
Jvm Performance Tunning
Jvm Performance Tunning
Layer architecture of ios (1)
Layer architecture of ios (1)
Building iOS App Project & Architecture
Building iOS App Project & Architecture
MySQL Performance Tuning: Top 10 Tips
MySQL Performance Tuning: Top 10 Tips
Google ART (Android RunTime)
Google ART (Android RunTime)
Designing better user interfaces
Designing better user interfaces
Android & iOS Automation Using Appium
Android & iOS Automation Using Appium
Architecting iOS Project
Architecting iOS Project
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
MySQL Tuning
MySQL Tuning
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
Ios vs android
Ios vs android
iOS design: a case study
iOS design: a case study
Similar a Tuning Android Applications (Part One)
X Means Y
X Means Y
CommonsWare
Tuning Android Applications (Part Deux)
Tuning Android Applications (Part Deux)
CommonsWare
JVM Performance Tuning
JVM Performance Tuning
Jeremy Leisy
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
Chris Gates
Application Profiling for Memory and Performance
Application Profiling for Memory and Performance
pradeepfn
App Integration (Revised and Updated)
App Integration (Revised and Updated)
CommonsWare
From Android to the Mobile Web
From Android to the Mobile Web
CommonsWare
App integration: Strategies and Tactics
App integration: Strategies and Tactics
CommonsWare
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
Stanojko Markovik
Android Memory , Where is all My RAM
Android Memory , Where is all My RAM
Yossi Elkrief
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
Ashish Bhasin
Application Profiling for Memory and Performance
Application Profiling for Memory and Performance
WSO2
Android Application WebAPI Development Training
Android Application WebAPI Development Training
OESF Education
Securing User Data with SQLCipher
Securing User Data with SQLCipher
CommonsWare
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
Wooseop Kim
Eliminating the Pauses in your Java Application
Eliminating the Pauses in your Java Application
Mark Stoodley
Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
Marcos García
On non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits and
Alisa Esage Шевченко
Java introduction
Java introduction
PriyanthaGunaratne123
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation Systems
National Cheng Kung University
Similar a Tuning Android Applications (Part One)
(20)
X Means Y
X Means Y
Tuning Android Applications (Part Deux)
Tuning Android Applications (Part Deux)
JVM Performance Tuning
JVM Performance Tuning
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
Application Profiling for Memory and Performance
Application Profiling for Memory and Performance
App Integration (Revised and Updated)
App Integration (Revised and Updated)
From Android to the Mobile Web
From Android to the Mobile Web
App integration: Strategies and Tactics
App integration: Strategies and Tactics
The Good, the Bad and the Ugly things to do with android
The Good, the Bad and the Ugly things to do with android
Android Memory , Where is all My RAM
Android Memory , Where is all My RAM
TechGIG_Memory leaks in_java_webnair_26th_july_2012
TechGIG_Memory leaks in_java_webnair_26th_july_2012
Application Profiling for Memory and Performance
Application Profiling for Memory and Performance
Android Application WebAPI Development Training
Android Application WebAPI Development Training
Securing User Data with SQLCipher
Securing User Data with SQLCipher
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
[충격] 당신의 안드로이드 앱이 느린 이유가 있다??!
Eliminating the Pauses in your Java Application
Eliminating the Pauses in your Java Application
Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
On non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits and
Java introduction
Java introduction
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Shorten Device Boot Time for Automotive IVI and Navigation Systems
Más de CommonsWare
Gradle and Your Android Wearable Projects
Gradle and Your Android Wearable Projects
CommonsWare
Getting Android Developers for Your Wearables
Getting Android Developers for Your Wearables
CommonsWare
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable Apps
CommonsWare
The Action Bar: Front to Back
The Action Bar: Front to Back
CommonsWare
Android Security: Defending Your Users
Android Security: Defending Your Users
CommonsWare
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManager
CommonsWare
Mastering the Master Detail Pattern
Mastering the Master Detail Pattern
CommonsWare
Not Quite As Painful Threading
Not Quite As Painful Threading
CommonsWare
Android Development: The 20,000-Foot View
Android Development: The 20,000-Foot View
CommonsWare
Maps V2... And You!
Maps V2... And You!
CommonsWare
A Deep Dive Into ViewPager
A Deep Dive Into ViewPager
CommonsWare
Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2
CommonsWare
Integrate Android Apps and Web Apps
Integrate Android Apps and Web Apps
CommonsWare
The Wonderful World of Wearables
The Wonderful World of Wearables
CommonsWare
Beaming Data to Devices with NFC
Beaming Data to Devices with NFC
CommonsWare
What's New in Jelly Bean
What's New in Jelly Bean
CommonsWare
Making Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business Models
CommonsWare
AppsWorld Keynote
AppsWorld Keynote
CommonsWare
Rich Text Editing and Beyond
Rich Text Editing and Beyond
CommonsWare
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and Tactics
CommonsWare
Más de CommonsWare
(20)
Gradle and Your Android Wearable Projects
Gradle and Your Android Wearable Projects
Getting Android Developers for Your Wearables
Getting Android Developers for Your Wearables
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable Apps
The Action Bar: Front to Back
The Action Bar: Front to Back
Android Security: Defending Your Users
Android Security: Defending Your Users
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManager
Mastering the Master Detail Pattern
Mastering the Master Detail Pattern
Not Quite As Painful Threading
Not Quite As Painful Threading
Android Development: The 20,000-Foot View
Android Development: The 20,000-Foot View
Maps V2... And You!
Maps V2... And You!
A Deep Dive Into ViewPager
A Deep Dive Into ViewPager
Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2
Integrate Android Apps and Web Apps
Integrate Android Apps and Web Apps
The Wonderful World of Wearables
The Wonderful World of Wearables
Beaming Data to Devices with NFC
Beaming Data to Devices with NFC
What's New in Jelly Bean
What's New in Jelly Bean
Making Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business Models
AppsWorld Keynote
AppsWorld Keynote
Rich Text Editing and Beyond
Rich Text Editing and Beyond
Backwards Compatibility: Strategies and Tactics
Backwards Compatibility: Strategies and Tactics
Último
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Último
(20)
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
How to write a Business Continuity Plan
How to write a Business Continuity Plan
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Tuning Android Applications (Part One)
1.
Tuning Android Applications
Copyright © 2011 CommonsWare, LLC
2.
What I'll Be
Yammering About ● Now – Traceview – MAT ● After the Keynote – Battery and Bandwidth – Top Ten Tuning Tips Copyright © 2011 CommonsWare, LLC
3.
Traceview Copyright
© 2011 CommonsWare, LLC
4.
Two Types of
CPU Problems ● Generally slow – Foreground – Background ● UI “janky” (sluggish, jerky, non-responsive) – Work being done on the main application thread that perhaps should not be Copyright © 2011 CommonsWare, LLC
5.
Finding Your CPU
Problems ● StrictMode – Reports problems with main application thread ● Roll-Your-Own Timing – E.g., TimingLogger ● Traceview – Analyze method traces collected from VM – Shows you where all the time goes Copyright © 2011 CommonsWare, LLC
6.
Collecting Trace Data ●
Start/Stop from DDMS – Choose your process – Toggle toolbar button ● Start/Stop from Java – android.os.Debug – startMethodTracing() – stopMethodTracing() Copyright © 2011 CommonsWare, LLC
7.
Loading Traceview ●
DDMS in Eclipse – Stopping collection auto-loads Traceview ● Standalone DDMS – Stopping collection auto-loads standalone Traceview (Android 2.2+) ● Trace-on-External-Storage – Import into Eclipse – Run traceview from command line Copyright © 2011 CommonsWare, LLC
8.
The Traceview Window ●
Top = Timeline – Rows = threads – Shows which threads were active at which times during test period ● Bottom = CPU Consumers – Call tree of methods, showing which methods are consuming what amount of time, calls – Color coding matches timeline Copyright © 2011 CommonsWare, LLC
9.
Finding Hot Spots ●
Sort table – Exclusive = time taken up just in this method – Inclusive = time taken up in method and any methods it invokes (tree) ● Find your code – Appearing in left column – In “parents” of other things consuming lots of time Copyright © 2011 CommonsWare, LLC
10.
Limitations ●
Disables JIT – Result: all Java code slower than normal ● Does Not Profile Native Code – Result: native code a “black box” ● Overall Result: Absolute Times Inaccurate – Looking for relative times compared to other Java code Copyright © 2011 CommonsWare, LLC
11.
Memory Analysis
with MAT Copyright © 2011 CommonsWare, LLC
12.
Two Types of
Memory Issues ● Running out of heap – OutOfMemoryError ● Running out of stack – StackOverflowError – If stack trace shows mostly Android UI rendering code, use Hierarchy View to identify deepest portions of view hierachy, try to eliminate layers Copyright © 2011 CommonsWare, LLC
13.
Finding Your Heap
Problems ● Allocation Tracking – Through DDMS, records all allocations ● Exception: primitive arrays – See who allocates what, try to figure out why ● Memory Analyzer (MAT) – Examine heap dump – Find out what is not getting garbage collected – Find out how many objects exist, sizes Copyright © 2011 CommonsWare, LLC
14.
Collecting Heap Dumps ●
From DDMS – Select your process – Click toolbar button ● From Java – android.os.Debug – dumpHprofData() Copyright © 2011 CommonsWare, LLC
15.
Loading MAT ●
DDMS/Eclipse – Dump automatically loaded into MAT ● Standalone DDMS – Run hprof-conv on HPROF file, then open in MAT ● Java – Copy file from emulator, run hprof-conv, open Copyright © 2011 CommonsWare, LLC
16.
Finding Your Leaks ●
Completely Closed Application – All activities destroyed via BACK (or equivalent) – In theory, none of your objects should appear – Open the Histogram – Enter package in “Regex” (com.yourfirm.*) – See what crops up ● “Merge Shortest Path to GC Roots” context menu, excluding weak references, to find out what is holding these Copyright © 2011 CommonsWare, LLC things
17.
Finding Where The
Heap Went ● Live Application – Finding out where all the RAM is going – Back in Histogram, sort by # of objects – Looking for unusual stuff with lots of objects ● Bitmaps ● Your objects ● Objects from third-party JAR Copyright © 2011 CommonsWare, LLC
18.
Finding Where The
Heap Went ● Live Application – Bring up the Dominator Tree – Sort by shallow heap (objects' own memory) or retained heap (memory object is responsible for) – Again, hunt for unusual stuff with lots of heap Copyright © 2011 CommonsWare, LLC
19.
Limitations ●
Only Tracks Bitmaps on Honeycomb – Previously was “native” memory, counted against heap but not visible to MAT – Recommendation ● Focus MAT use on Honeycomb ● Secondary usage on earlier OS levels Copyright © 2011 CommonsWare, LLC
Descargar ahora