Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference...
Transcript of Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference...
![Page 1: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/1.jpg)
Android Performance Bundle
23.05.2017 Android Performance Bundle - Noah Hollmann 1
![Page 2: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/2.jpg)
Performance on Android
23.05.2017 Android Performance Bundle - Noah Hollmann 2
![Page 3: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/3.jpg)
Measuring is crucial!
1. Automated UI Testing
23.05.2017 Android Performance Bundle - Noah Hollmann 3
![Page 4: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/4.jpg)
Measuring is crucial!
1. Automated UI Testing
2. Real world benchmarking of phones
23.05.2017 Android Performance Bundle - Noah Hollmann 4
![Page 5: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/5.jpg)
Measuring is crucial!
1. Automated UI Testing
2. Real world benchmarking of phones
3. Benchmarking in the app store
23.05.2017 Android Performance Bundle - Noah Hollmann 5
![Page 6: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/6.jpg)
Performance on Android
23.05.2017 Android Performance Bundle - Noah Hollmann 6
Energy leak GUI Lagging Memory Bloating
![Page 7: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/7.jpg)
Performance on Android
23.05.2017 Android Performance Bundle - Noah Hollmann 7
Energy leak Memory BloatingGUI Lagging
![Page 8: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/8.jpg)
What does GUI lagging mean?
• „App not responding“
23.05.2017 Android Performance Bundle - Noah Hollmann 8
![Page 9: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/9.jpg)
What does GUI lagging mean?
• „Janky“ frames• 60 fps Framerate
• = 16-ms-per-frame
23.05.2017 Android Performance Bundle - Noah Hollmann 9
Vsync Vsync
![Page 10: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/10.jpg)
What does GUI lagging mean?
• „Janky“ frames• 60 fps Framerate
• = 16-ms-per-frame
23.05.2017 Android Performance Bundle - Noah Hollmann 10
17ms UPDATE
Vsync Vsync
![Page 11: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/11.jpg)
How to measure fluency?
23.05.2017 Android Performance Bundle - Noah Hollmann 11
![Page 12: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/12.jpg)
How to measure fluency?
23.05.2017 Android Performance Bundle - Noah Hollmann 12
FPS
Rendering time
Issued frames
![Page 13: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/13.jpg)
“Analyzing GUI Running Fluency for Android Apps“State Key Lab of Computer Science, Institute of Software, Chinese Academy of Sciences Beijing, China
23.05.2017 Android Performance Bundle - Noah Hollmann 13
![Page 14: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/14.jpg)
Existing tools
23.05.2017 Android Performance Bundle - Noah Hollmann 14
Android Systrace Profile GPU Rendering
![Page 15: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/15.jpg)
Existing tools
23.05.2017 Android Performance Bundle - Noah Hollmann 15
FPS Meter Instrument the source code
![Page 16: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/16.jpg)
ARFluency - Implementation
<<Process>>SurfaceFlinger
<<Layer>>AppContentLayer
<<Layer>>StatusBar Layer
<<Layer>>Content Layer
23.05.2017 Android Performance Bundle - Noah Hollmann 16
Android App
draw
notify
Hardware Composer
![Page 17: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/17.jpg)
ARFluency - Implementation
<<Process>>SurfaceFlinger
Code injection:libsurfaceflinger.so
<<Layer>>AppContentLayer
<<Layer>>StatusBar Layer
<<Layer>>Content Layer
Dumpsys
23.05.2017 Android Performance Bundle - Noah Hollmann 17
Android App
draw
Hardware Composer
notify
![Page 18: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/18.jpg)
Experiments
23.05.2017 Android Performance Bundle - Noah Hollmann 18
1 1 1
4
16
35
21
15
24
26
2
4 4
14
13
CHROME SHADOWSOCKS GOOGLE TRANSLATE
GOOGLE PHOTOS
ANTUTU BENCHMARK
Issued frames (%) Frame rate (fps) Rendering time (ms)
![Page 19: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/19.jpg)
Critique
23.05.2017 Android Performance Bundle - Noah Hollmann 19
![Page 20: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/20.jpg)
Different perspectives
23.05.2017 Android Performance Bundle - Noah Hollmann 20
![Page 21: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/21.jpg)
Many device configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 21
![Page 22: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/22.jpg)
Many device configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 22
![Page 23: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/23.jpg)
Many device configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 23
![Page 24: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/24.jpg)
Android is unpredictable
23.05.2017 Android Performance Bundle - Noah Hollmann 24
![Page 25: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/25.jpg)
Android is unpredictable
23.05.2017 Android Performance Bundle - Noah Hollmann 25
![Page 26: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/26.jpg)
“Mining Test Repositories for Automatic Detection of UI Performance Regressions in Android Apps“13th International Conference on Mining Software Repositories (MSR'16), May 2016, Austin, Texas, United States. IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories.
23.05.2017 Android Performance Bundle - Noah Hollmann 26
App Version 1
![Page 27: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/27.jpg)
“Mining Test Repositories for Automatic Detection of UI Performance Regressions in Android Apps“13th International Conference on Mining Software Repositories (MSR'16), May 2016, Austin, Texas, United States. IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories.
23.05.2017 Android Performance Bundle - Noah Hollmann 27
App Version 1
![Page 28: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/28.jpg)
Automated Testing
23.05.2017 Android Performance Bundle - Noah Hollmann 28
Simulated device profile
Test Suite(UI events)
Test executionWith Robotium and
Genymotion
Dumpsys
Logcat
Test Repository
![Page 29: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/29.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 29
![Page 30: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/30.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 30
[v1, 4.1, samsung, S3, x86, wifi]
![Page 31: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/31.jpg)
Automated Testing
23.05.2017 Android Performance Bundle - Noah Hollmann 31
Simulated device profile
Test Suite(UI events)
Test executionWith Robotium and
Genymotion
Dumpsys
Logcat
Test RepositoryCompare to
test repository
![Page 32: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/32.jpg)
Finding similar configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 32
[v1; 4:1; samsung; S3; x86; wifi]
![Page 33: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/33.jpg)
Finding similar configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 33
[v1; 4:1; samsung; S3; x86; wifi][v1:2; 4:1; samsung; S3; x86; wifi]
![Page 34: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/34.jpg)
Finding similar configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 34
[v1; 4:1; samsung; S3; x86; wifi][v1:2; 4:1; samsung; S3; x86; wifi]
![Page 35: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/35.jpg)
Finding similar configurations
23.05.2017 Android Performance Bundle - Noah Hollmann 35
[v1; 4:1; samsung; S3; x86; wifi][v1:2; 4:1; samsung; S3; x86; wifi][v1:1; 4:1; samsung; S3; x86; wifi][v1; 4:2; samsung; S3; x86; wifi][v1:2; 4:1; samsung; S3; x86; 4G]
![Page 36: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/36.jpg)
Finding outliers
23.05.2017 Android Performance Bundle - Noah Hollmann 36
Most Similartest runs
OutliersSimilar outliers
(Outliers+, Outliers-)
![Page 37: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/37.jpg)
Association Rule Mining
23.05.2017 Android Performance Bundle - Noah Hollmann 37
V5.0.0 => Outlier-Wifi => Outlier+
Similar outliersAssociationRule Mining
AssociationRules
![Page 38: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/38.jpg)
Evaluation
Exo-Player Space Blaster K-9 Mail client
23.05.2017 Android Performance Bundle - Noah Hollmann 38
![Page 39: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/39.jpg)
Evaluation
23.05.2017 Android Performance Bundle - Noah Hollmann 39
![Page 40: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/40.jpg)
Evaluation
23.05.2017 Android Performance Bundle - Noah Hollmann 40
SDKs: 5.*, 6.0.0SDKs: 4.*
Device Lab Upgraded Device Lab
![Page 41: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/41.jpg)
Experiment - Performance Degradation
23.05.2017 Android Performance Bundle - Noah Hollmann 41
![Page 42: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/42.jpg)
Experiment - Performance Degradation
23.05.2017 Android Performance Bundle - Noah Hollmann 42
10/10
![Page 43: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/43.jpg)
Experiment – Context isolation
23.05.2017 Android Performance Bundle - Noah Hollmann 43
![Page 44: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/44.jpg)
Experiment – UI Event filtering
23.05.2017 Android Performance Bundle - Noah Hollmann 44
20 Events / 4 Janks
Precision: 53%Recall: 83%
![Page 45: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/45.jpg)
Critique
23.05.2017 Android Performance Bundle - Noah Hollmann 45
![Page 46: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/46.jpg)
What you could do…
23.05.2017 Android Performance Bundle - Noah Hollmann 46
![Page 47: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/47.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 47
![Page 48: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/48.jpg)
“How Developers Detect and Fix PerformanceBottlenecks in Android Apps“
485 participants Sept 2015 > 1 year experience
Mario Linares-Vásquez, Christopher Vendome, Qi Luo, Denys PoshyvanykThe College of William and Mary, Williamsburg, VA, USA
23.05.2017 Android Performance Bundle - Noah Hollmann 48
![Page 49: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/49.jpg)
Performance on Android
23.05.2017 Android Performance Bundle - Noah Hollmann 49
Energy leak Memory BloatingGUI Lagging
![Page 50: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/50.jpg)
Datacollection
• 381,161 Java projects
• 16,331 potential repositories
• 24,340 contributors
• 628 survey responses
• 485 valid responses
Valid response rate: 2% (out of 24,340 contributors)
23.05.2017 Android Performance Bundle - Noah Hollmann 50
![Page 51: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/51.jpg)
Preferred practices for detecting bottlenecks
23.05.2017 Android Performance Bundle - Noah Hollmann 51
11
5
11
1
71
56
21
17
R + M M R + M + T R M + T + O T
ReviewManualToolsOther
![Page 52: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/52.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 52
![Page 53: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/53.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 53
![Page 54: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/54.jpg)
There are many tools available!
23.05.2017 Android Performance Bundle - Noah Hollmann 54
![Page 55: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/55.jpg)
Preferred practices for detecting bottlenecks
23.05.2017 Android Performance Bundle - Noah Hollmann 55
11
5
11
1
71
56
21
17
R + M M R + M + T R M + T + O T
ReviewManualToolsOther
![Page 56: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/56.jpg)
GUI Lagging: Solution Practices
23.05.2017 Android Performance Bundle - Noah Hollmann 56
74
47
40
32
17
4
THREADS GUI OPTIMIZATION
CACHING MEMORY MANAGEMENT
NETWORK RESOURCES
DELEGATION (CLOUD)
Number of people
![Page 57: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/57.jpg)
Memory bloat: Solution Practices
23.05.2017 Android Performance Bundle - Noah Hollmann 57
45
30
3,5
2
GU I OPTIMIZ A TION MEMORY MGMT. NETWORK RESOURCES O N-D EMA ND RESOURCES
Number of people
![Page 58: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/58.jpg)
Energy leak: Solution Practices
23.05.2017 Android Performance Bundle - Noah Hollmann 58
4
1 1
D ELEGA TION (CLOUD ) RED UCE GPS CA LLS RED UCE WA KELOCKS
Number of people
![Page 59: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/59.jpg)
Critique
23.05.2017 Android Performance Bundle - Noah Hollmann 59
![Page 60: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/60.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 60
![Page 61: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/61.jpg)
Papers & Sources
• Mining test repositories for automatic detection of UI performanceregressions in Android appsMaría Gómez, Romain Rouvoy, Bram Adams and Lionel Seinturier. MSR 2016.
• How developers detect and fix performance bottlenecks in Android appsMario Linares-Vásquez, Christopher Vendome, Qi Luo and Denys Poshyvanyk. ICSME 2015.
• Analyzing GUI running fluency for Android AppsTian Huang, Zhenyu Zhang and Xue-Yang Zhu. MSCC 2016.
• Android developershttps://developer.android.com/index.html
23.05.2017 Android Performance Bundle - Noah Hollmann 61
![Page 62: Android Performance Bundle - DISCO · IEEE, 2016, Proceedings of the 13th International Conference on Mining Software Repositories. 23.05.2017 Android Performance Bundle - Noah Hollmann](https://reader031.fdocuments.net/reader031/viewer/2022040708/5e0c5d19d188c00b46592bca/html5/thumbnails/62.jpg)
23.05.2017 Android Performance Bundle - Noah Hollmann 62