Posted on Leave a comment

Android compilers, AOT, JIT, performance, etc

Android CPU, Compilers, D8 & R8 [ https://proandroiddev.com/android-cpu-compilers-d8-r8-a3aa2bfbc109 ]

Android app startup time: why we care [ https://medium.com/inlocotech/android-app-startup-time-why-we-care-b70eada84b26 ]

Сжимаем APK, стараясь сохранить его работоспособность [ https://habr.com/ru/post/452524/ ]

Increasing performance in an Android application [ https://heartbeat.fritz.ai/increasing-performance-in-an-android-application-1086640aeef ]

How to optimize memory consumption when using Glide [ https://proandroiddev.com/how-to-optimize-memory-consumption-when-using-glide-9ac984cfe70f ]

The internals of Android APK build process — Article
Understanding the flow of the Android APK build process, the execution environment, and code compilation
[https://medium.com/androiddevnotes/the-internals-of-android-apk-build-process-article-5b68c385fb20]

Going Deep on JetPack Benchmark
[https://proandroiddev.com/going-deep-on-androidx-benchmark-d06b89765f9e]

Optimize the build speed for your Android project
[https://www.crazylegend.dev/2020/07/optimize-build-speeds-for-your-android.html]

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM
[https://habr.com/ru/post/471772/] [http://www.arvifox.com/wp-content/uploads/2020/08/java-jvm-habr.pdf]

Android изнутри: сравнение Dalvik и ART
[https://habr.com/ru/post/513928/] [http://www.arvifox.com/wp-content/uploads/2020/08/java-jvm-habr-2.pdf]

Загрузка и сборка AOSP
[https://habr.com/ru/post/517922/]

Comparison of ProGuard vs. R8: October 2019 edition [ https://www.guardsquare.com/en/blog/comparison-proguard-vs-r8-october-2019-edition ]

Shrinking Your App with R8
[https://medium.com/androiddevelopers/shrinking-your-app-with-r8-909efac25de4]

R8 Shrinking in Android
[https://medium.com/better-programming/r8-shrinking-in-android-27f3edbbad9e]

How to break your Android App with proguard / R8
[https://medium.com/@woitaschek/how-to-break-your-android-app-with-proguard-r8-6566bc387b63]

R8 Optimization: Lambda Groups
[https://jakewharton.com/r8-optimization-lambda-groups/]

Что такое Android Lint и как он помогает писать поддерживаемый код [ https://habr.com/ru/post/456272/ ]

Support for newer Java language APIs
14.07.2020 [https://medium.com/androiddevelopers/support-for-newer-java-language-apis-bca79fc8ef65]

Everything you need to know about Memory Leaks in Android. [ https://proandroiddev.com/everything-you-need-to-know-about-memory-leaks-in-android-d7a59faaf46a ]

Android Internals: ART vs DVM deep dive [ https://android.jlelse.eu/android-internals-art-vs-dvm-deep-dive-def34cf664d7 ]

Exploring the Android build process: Caching [ https://medium.com/asos-techblog/exploring-the-android-build-process-caching-a9ee3e12873a ]

Exploring the Android build process: demystifying Gradle flags [ https://medium.com/asos-techblog/exploring-the-android-build-process-demystifying-gradle-flags-74334255462 ]

Android Internals 101: How Android OS Starts You Application [ https://proandroiddev.com/android-internals-101-how-android-os-starts-you-application-e1c98a014c05 ]

Android Permissions System Vulnerabilities and Possible Workarounds [ https://medium.com/swlh/android-permissions-system-vulnerabilities-and-possible-workarounds-8098519aefa9 ]

Making Android Lint Theme Aware — Part 1 [ https://proandroiddev.com/making-android-lint-theme-aware-6285737b13bc ]

Is there a unique Android device ID? [ https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id ]

Top 12 Ways to Reduce Android App Size During App Development Lifecycle [ https://www.mindinventory.com/blog/how-to-reduce-android-app-size/ ]

R8 Optimization: Class Reflection and Forced Inlining [ https://jakewharton.com/r8-optimization-class-reflection-and-forced-inlining/ ]

Feature Flags – How to use [ https://jeroenmols.com/blog/2019/08/20/featureflagshowtouse/ ]

Фантастические плагины, vol. 1. Теория [ https://habr.com/ru/company/hh/blog/463583/ ]

Dealing with Large Memory Requirements on Android [ https://pspdfkit.com/blog/2019/android-large-memory-requirements/ ]

Speed up your Android Studio [ https://blog.kaush.co/2019/08/19/android-studio-slow-as-fxxx/ ]

TimingLogger: An idiomatic Android approach to measuring execution time [ https://itnext.io/timinglogger-an-idiomatic-android-approach-to-measuring-execution-time-8ac10a8fa0ba ]

Memory Management
Android Memory Management, Garbage collection, DDMS, How to Improve Memory Usage, How to Avoid Memory Leaks, Android Profiling Tools [ https://medium.com/@nik.arora8059/memory-management-in-android-3bdf307c8e23 ]

Android third party tools to increase the performance of your app. [ https://andrey-kazarovets.com/android-third-party-tools-for-performance/ ]

Your Android Application Silently Skips Frames [ https://www.techyourchance.com/android-application-skips-frames/ ]

The battle for jank*-less UI on Android [ https://medium.com/swlh/the-battle-for-junk-less-ui-713d7680aebc ]

Virtual Machine in Android: Everything you need to know [ https://android.jlelse.eu/virtual-machine-in-android-everything-you-need-to-know-9ec695f7313b ]

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM [ https://habr.com/ru/post/471772/ ]

A tool used to obfuscate aab resources [ https://github.com/bytedance/AabResGuard ]

Is Your Kotlin Code Really Obfuscated?
[https://proandroiddev.com/is-your-kotlin-code-really-obfuscated-a36abf033dde]

Как Java 8 поддерживается в Android [ https://habr.com/ru/company/tinkoff/blog/478692/ ] [ https://jakewharton.com/androids-java-8-support/ ]


Facebook proguard r8 [ https://github.com/facebookarchive/proguard/tree/master/examples/dictionaries ]

D8 Library Desugaring [ https://jakewharton.com/d8-library-desugaring/ ]

Shrinking Kotlin Libraries and Applications using Kotlin Reflection with R8
15.07.2020 [https://medium.com/androiddevelopers/shrinking-kotlin-libraries-and-applications-using-kotlin-reflection-with-r8-6fe0a0e2d115]


Измерение производительности андроид приложений [https://android-tools.ru/coding/izmerenie-proizvoditelnosti-raboty-prilozheniya/]
Performance Improvements for Search on The Yelp Android App https://engineeringblog.yelp.com/2018/05/android-search-perf-improvements-part-1.html

Instagram: Improving performance with background data prefetching https://instagram-engineering.com/improving-performance-with-background-data-prefetching-b191acb39898

Kotlin performance on Android [https://habr.com/company/oleg-bunin/blog/420143/]

Android performance by Google [https://www.udacity.com/course/android-performance–ud825]

Зачем инженерам тратить время на перформанс
15.07.2020 [https://habr.com/ru/company/avito/blog/509392/]

Android Internals for Rendering a View [https://medium.com/better-programming/android-internals-for-rendering-a-view-430cd394e225]



Developer Options in Android [ https://medium.com/mindorks/developer-options-in-android-dfa94fe6c501 ]

System App In Android [ https://android.jlelse.eu/system-app-in-android-f003d418b4cc ]

Как перестать бояться Proguard и начать жить [ https://habr.com/ru/post/415499/ ]

ADB-The Most useful tool in Android [ https://medium.com/mindorks/the-most-useful-tool-in-android-b281c8e5746a ]

Diving deep into Android Dex bytecode R8 [ https://proandroiddev.com/diving-deep-into-android-dex-bytecode-48db82b170c8 ]

How to make Android Studio Lightning Fast? [ https://medium.com/@ankushkapoor2015/how-to-speed-up-android-studio-43aed38d248f ]

Smaller APKs with resource optimization
by Jake Wharton [https://jakewharton.com/smaller-apks-with-resource-optimization/]
android.enableResourceOptimizations=true

Android Vitals – What time is it?
[https://dev.to/pyricau/android-vitals-what-time-is-it-2oih]

Android Vitals – Rising to the first drawn surface
[https://dev.to/pyricau/android-vitals-rising-to-the-first-drawn-surface-1j9e]

Android Vitals – Diving into cold start waters
[https://dev.to/pyricau/android-vitals-diving-into-cold-start-waters-5hi6]

Collecting the Garbage: A brief history of GC over Android versions
[https://proandroiddev.com/collecting-the-garbage-a-brief-history-of-gc-over-android-versions-f7f5583e433c]

Reverse engineering an Android Application
[https://epic.blog/reverse-engineering/2020/07/27/reverse-engineering-android-app.html]

Энергопотребление Android-приложений
[https://habr.com/ru/company/citymobil/blog/512668/]

Maximizing OkHttp connection reuse
[https://medium.com/booking-com-development/maximizing-okhttp-connection-reuse-b1f0ad6ec66c]

Practical Guide To Solve OutOfMemoryError in Android Application
[https://medium.com/mindorks/practical-guide-to-solve-outofmemoryerror-in-android-application-8cccfdc5c60c]

Android Battery Testing at Microsoft YourPhone
[https://medium.com/android-microsoft/android-battery-testing-at-microsoft-yourphone-a1d6068bf09e]

App size reduction at Microsoft SwiftKey
[https://medium.com/android-microsoft/app-size-reduction-at-microsoft-swiftkey-f77d7d5916b]

Analyze and improve Android app performance with System Tracing
[https://proandroiddev.com/analyze-and-improve-android-app-performance-with-system-tracing-badb278f995a]

High refresh rate rendering on Android
[https://android-developers.googleblog.com/2020/04/high-refresh-rate-rendering-on-android.html]

R8 changes “protected” methods of abstract class to “public” without -allowaccessmodification flag
[https://stackoverflow.com/questions/59681793/r8-changes-protected-methods-of-abstract-class-to-public-without-allowacces]

R8 does not resolve dependencies from maven. You need to add to gradle.
[https://github.com/gradle/gradle/issues/11321]

 metadataSources {    mavenPom()    artifact() } 


VSyncs or Vertical Sync — Never heard of it or did you?
[https://medium.com/@kiitvishal89/vsyncs-or-vertical-sync-never-heard-of-it-or-did-you-edc055a0decd]


R8, AGP
how to force update R8

buildscript {
  repositories {
    maven {url 'http://storage.googleapis.com/r8-releases/raw'}
  }
  dependencies {
    classpath 'com.android.tools:r8:2.1.52'
    classpath 'com.android.tools.build:gradle:4.0.1'
  }
}


Java
Android’s Java 9, 10, 11, and 12 Support
[https://jakewharton.com/androids-java-9-10-11-and-12-support/]

Возможности языка Java 8
[https://developer.android.com/guide/platform/j8-jack?hl=ru]

Use Java 8 language features and APIs
[https://developer.android.com/studio/write/java8-support]

Как работает программа «Hello World!»?
[https://nuancesprog.ru/p/8609/]

Как работает виртуальная машина Java — взгляд изнутри
[https://tproger.ru/blogs/jvm-insides/]

Фреймворк Executor в Java
[https://nuancesprog.ru/p/9627/]

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.