Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amitshekhariitbhu/awesome-android-complete-reference

Here I list down all of the high-quality blogs that I publish on my website.
https://github.com/amitshekhariitbhu/awesome-android-complete-reference

List: awesome-android-complete-reference

android android-optimization best-practices blogs kotlin performance tutorial tutorials

Last synced: 5 days ago
JSON representation

Here I list down all of the high-quality blogs that I publish on my website.

Awesome Lists containing this project

README

        

# Awesome Android Complete Reference

Here I list down all of the high-quality blogs that I publish on my website.

[Outcome School](https://outcomeschool.com)

I only create knowledge-packed content so that you get to learn about the following:
- How do things work in Android internally?
- How can you improve the performance of your Android Application?
- Mobile System Design
- Coding best practices

### All blogs

- [Mastering Kotlin Coroutines](https://outcomeschool.com/blog/kotlin-coroutines) - Mastering Kotlin Coroutines
- [Why does an Android App lag?](https://outcomeschool.com/blog/android-app-lag) - Learn why an Android App lags
- [OkHttp Interceptor](https://outcomeschool.com/blog/okhttp-interceptor) - OkHttp Interceptor
- [Caching in Android](https://outcomeschool.com/blog/caching-with-okhttp-interceptor-and-retrofit) - Caching with OkHttp Interceptor and Retrofit
- [How does the Android Image Loading library use the bitmap pool for responsive UI?](https://outcomeschool.com/blog/android-image-loading-library-use-bitmap-pool-for-responsive-ui) - How does the Android Image Loading library use the bitmap pool for responsive UI?
- [How does the Android Image Loading library solve the slow loading issue?](https://outcomeschool.com/blog/android-image-loading-library-solve-the-slow-loading-issue) - How does the Android Image Loading library solve the slow loading issue?
- [How does the Android Image Loading library optimize memory usage?](https://outcomeschool.com/blog/android-image-loading-library-optimize-memory-usage) - How does the Android Image Loading library optimize memory usage?
- [Dalvik, ART, JIT, and AOT in Android](https://outcomeschool.com/blog/dalvik-art-jit-aot) - Dalvik, ART, JIT, and AOT in Android
- [Launch vs Async in Kotlin Coroutines](https://outcomeschool.com/blog/launch-vs-async-in-kotlin-coroutines) - Launch vs Async in Kotlin Coroutines
- [CoroutineContext in Kotlin](https://outcomeschool.com/blog/coroutinecontext-in-kotlin) - CoroutineContext in Kotlin
- [Dispatchers in Kotlin Coroutines](https://outcomeschool.com/blog/dispatchers-in-kotlin-coroutines) - Dispatchers in Kotlin Coroutines
- [coroutineScope vs supervisorScope](https://outcomeschool.com/blog/coroutinescope-vs-supervisorscope) - coroutineScope vs supervisorScope
- [What is Flow API in Kotlin?](https://outcomeschool.com/blog/flow-api-in-kotlin) - What is Flow API in Kotlin?
- [Cold Flow vs Hot Flow](https://outcomeschool.com/blog/cold-flow-vs-hot-flow) - Cold Flow vs Hot Flow
- [StateFlow and SharedFlow](https://outcomeschool.com/blog/stateflow-and-sharedflow) - StateFlow and SharedFlow
- [Suspending vs Blocking in Kotlin Coroutines](https://www.youtube.com/watch?v=V2lL_aJp17I) - Suspending vs Blocking in Kotlin Coroutines
- [HTTP Request vs HTTP Long-Polling vs WebSocket vs Server-Sent Events](https://outcomeschool.com/blog/http-request-long-polling-websocket-sse) - HTTP Request vs HTTP Long-Polling vs WebSocket vs Server-Sent Events
- [Context In Android Application](https://outcomeschool.com/blog/context-in-android-application) - Context In Android Application
- [Long-running tasks in parallel with Kotlin Flow](https://outcomeschool.com/blog/long-running-tasks-in-parallel-with-kotlin-flow) - Long-running tasks in parallel with Kotlin Flow
- [Retry Operator in Kotlin Flow](https://outcomeschool.com/blog/retry-operator-in-kotlin-flow) - Retry Operator in Kotlin Flow
- [Callback to Coroutines in Kotlin](https://outcomeschool.com/blog/callback-to-coroutines-in-kotlin) - Callback to Coroutines in Kotlin
- [Retrofit with Kotlin Flow](https://outcomeschool.com/blog/retrofit-with-kotlin-flow) - Retrofit with Kotlin Flow
- [Room Database with Kotlin Flow](https://outcomeschool.com/blog/room-database-with-kotlin-flow) - Room Database with Kotlin Flow
- [Room Database with Kotlin Coroutines](https://outcomeschool.com/blog/room-database-with-kotlin-coroutines) - Room Database with Kotlin Coroutines
- [Kotlin Flow Zip Operator for Parallel Multiple Network Calls](https://outcomeschool.com/blog/kotlin-flow-zip-operator-parallel-multiple-network-calls) - Kotlin Flow Zip Operator for Parallel Multiple Network Calls
- [Instant Search Using Kotlin Flow Operators](https://outcomeschool.com/blog/instant-search-using-kotlin-flow-operators) - Instant Search Using Kotlin Flow Operators
- [Exception Handling in Kotlin Flow](https://outcomeschool.com/blog/exception-handling-in-kotlin-flow) - Exception Handling in Kotlin Flow
- [callbackFlow - Callback to Flow API in Kotlin](https://outcomeschool.com/blog/callback-to-flow-api-in-kotlin) - callbackFlow - Callback to Flow API in Kotlin
- [Kotlin withContext vs Async-await](https://outcomeschool.com/blog/kotlin-withcontext-vs-async-await) - Kotlin withContext vs Async-await
- [Terminal Operators in Kotlin Flow](https://outcomeschool.com/blog/terminal-operators-in-kotlin-flow) - Terminal Operators in Kotlin Flow
- [Remove duplicates from an array](https://outcomeschool.com/blog/remove-duplicates-from-an-array-in-kotlin) - Remove duplicates from an array in Kotlin
- [JvmStatic Annotation in Kotlin](https://outcomeschool.com/blog/jvmstatic-annotation-in-kotlin) - JvmStatic Annotation in Kotlin
- [JvmOverloads Annotation in Kotlin](https://outcomeschool.com/blog/jvmoverloads-annotation-in-kotlin) - JvmOverloads Annotation in Kotlin
- [JvmField Annotation in Kotlin](https://outcomeschool.com/blog/jvmfield-annotation-in-kotlin) - JvmField Annotation in Kotlin
- [inline function in Kotlin](https://outcomeschool.com/blog/inline-function-in-kotlin) - inline function in Kotlin
- [noinline in Kotlin](https://outcomeschool.com/blog/noinline-in-kotlin) - noinline in Kotlin
- [crossinline in Kotlin](https://outcomeschool.com/blog/crossinline-in-kotlin) - crossinline in Kotlin
- [lateinit vs lazy in Kotlin](https://outcomeschool.com/blog/lateinit-vs-lazy-in-kotlin) - lateinit vs lazy in Kotlin
- [init block in Kotlin](https://outcomeschool.com/blog/init-block-in-kotlin) - init block in Kotlin
- [Retrofit with Kotlin Coroutines](https://outcomeschool.com/blog/retrofit-with-kotlin-coroutines) - Retrofit with Kotlin Coroutines
- [Advantage of using const in Kotlin](https://outcomeschool.com/blog/const-in-kotlin) - Advantage of using const in Kotlin
- [suspend function in Kotlin Coroutines](https://outcomeschool.com/blog/suspend-function-in-kotlin-coroutines) - suspend function in Kotlin Coroutines
- [Higher-Order Functions and Lambdas in Kotlin](https://outcomeschool.com/blog/higher-order-functions-and-lambdas-in-kotlin) - Higher-Order Functions and Lambdas in Kotlin
- [Parallel Multiple Network Calls Using Kotlin Coroutines](https://outcomeschool.com/blog/parallel-multiple-network-calls-using-kotlin-coroutines) - Parallel Multiple Network Calls Using Kotlin Coroutines
- [MVVM Architecture - Android Tutorial for Beginners](https://outcomeschool.com/blog/mvvm-architecture-android) - MVVM Architecture - Android Tutorial for Beginners
- [Why is it recommended to use only the default constructor to create a Fragment?](https://outcomeschool.com/blog/default-constructor-to-create-a-fragment) - Why is it recommended to use only the default constructor to create a Fragment?
- [AssociateBy - List to Map in Kotlin](https://outcomeschool.com/blog/associateby-list-to-map-in-kotlin) - Kotlin Collection Functions - associateBy that converts a list into a map
- [partition - filtering function in Kotlin](https://outcomeschool.com/blog/partition-filtering-function-in-kotlin) - partition - filtering function in Kotlin
- [Avoid nesting by handling errors first](https://outcomeschool.com/blog/avoid-nesting-by-handling-errors-first) - Avoid nesting by handling errors first
- [Infix notation in Kotlin](https://outcomeschool.com/blog/infix-notation-in-kotlin) - Infix notation in Kotlin
- [Open keyword in Kotlin](https://outcomeschool.com/blog/open-keyword-in-kotlin) - Open keyword in Kotlin
- [Companion object in Kotlin](https://outcomeschool.com/blog/companion-object-in-kotlin) - Companion object in Kotlin
- [Use setRecycledViewPool for Optimizing Nested RecyclerView](https://outcomeschool.com/blog/setrecycledviewpool-for-optimizing-nested-recyclerview) - Use setRecycledViewPool for Optimizing Nested RecyclerView
- [singleTask launchMode in Android](https://outcomeschool.com/blog/singletask-launchmode-in-android) - singleTask launchMode in Android
- [RxJava Subject - Publish, Replay, Behavior, and Async](https://outcomeschool.com/blog/rxjava-subject-publish-replay-behavior-async) - RxJava Subject - Publish, Replay, Behavior, and Async
- [dispose vs clear](https://outcomeschool.com/blog/dispose-vs-clear-compositedisposable-rxjava) - dispose vs clear CompositeDisposable RxJava
- [RxJava Interval Operator](https://outcomeschool.com/blog/rxjava-interval-operator) - RxJava Interval Operator
- [RxJava Concat Operator](https://outcomeschool.com/blog/rxjava-concat-operator) - RxJava Concat Operator
- [RxJava Merge Operator](https://outcomeschool.com/blog/rxjava-merge-operator) - RxJava Merge Operator
- [RxJava Operator Map vs FlatMap](https://outcomeschool.com/blog/rxjava-map-vs-flatmap) - RxJava Operator Map vs FlatMap
- [Pagination In RecyclerView Using RxJava Operators](https://outcomeschool.com/blog/pagination-in-recyclerview-using-rxjava-operators) - Pagination In RecyclerView Using RxJava Operators
- [How does the Kotlin Multiplatform work?](https://outcomeschool.com/blog/how-does-the-kotlin-multiplatform-work) - How does the Kotlin Multiplatform work?
- [RxJava Zip Operator](https://outcomeschool.com/blog/rxjava-zip-operator) - RxJava Zip Operator
- [RxJava Create and fromCallable Operator](https://outcomeschool.com/blog/rxjava-create-and-fromcallable-operator) - RxJava Create and fromCallable Operator
- [RxJava Defer Operator](https://outcomeschool.com/blog/rxjava-defer-operator) - RxJava Defer Operator
- [RecyclerView Optimization](https://outcomeschool.com/blog/recyclerview-optimization) - RecyclerView Optimization - Scrolling Performance Improvement
- [Android Developer should know these Data Structures for Next Interview](https://outcomeschool.com/blog/android-developer-should-know-these-data-structures-for-next-interview) - Android Developer should know these Data Structures for Next Interview
- [Google Android Developer Interview](https://outcomeschool.com/blog/google-android-developer-interview) - Google Android Developer Interview
- [Creating Flow Using Flow Builder in Kotlin](https://outcomeschool.com/blog/creating-flow-using-flow-builder-in-kotlin) - Creating Flow Using Flow Builder in Kotlin
- [Unit Testing ViewModel with Kotlin Coroutines and LiveData](https://outcomeschool.com/blog/unit-testing-viewmodel-with-kotlin-coroutines-and-livedata) - Unit Testing ViewModel with Kotlin Coroutines and LiveData
- [Unit Testing ViewModel with Kotlin Flow and StateFlow](https://outcomeschool.com/blog/unit-testing-viewmodel-with-kotlin-flow-and-stateflow) - Unit Testing ViewModel with Kotlin Flow and StateFlow
- [ThreadPoolExecutor in Android](https://outcomeschool.com/blog/threadpoolexecutor-in-android) - ThreadPoolExecutor in Android
- [Creating Custom Annotations](https://outcomeschool.com/blog/creating-custom-annotations) - Creating Custom Annotations
- [App Startup Library](https://outcomeschool.com/blog/app-startup-library) - App Startup Library
- [Instant Search Using RxJava Operators](https://outcomeschool.com/blog/instant-search-using-rxjava-operators) - Instant Search Using RxJava Operators
- [Jetpack DataStore Preferences](https://outcomeschool.com/blog/jetpack-datastore-preferences) - Jetpack DataStore Preferences
- [Optimization Using ArrayMap and SparseArray](https://outcomeschool.com/blog/optimization-using-arraymap-and-sparsearray) - Optimization Using ArrayMap and SparseArray
- [StrictMode in Android Development](https://outcomeschool.com/blog/strictmode-in-android-development) - StrictMode in Android Development
- [Android Development Best Practices](https://outcomeschool.com/blog/android-development-best-practices) - Android Development Best Practices
- [SnapHelper](https://outcomeschool.com/blog/snaphelper) - SnapHelper
- [Android NDK and RenderScript](https://outcomeschool.com/blog/ndk-and-renderscript) - Android NDK and RenderScript
- [Android App Performance Metrics](https://outcomeschool.com/blog/android-app-performance-metrics) - Android App Performance Metrics
- [Difference between == and === in Kotlin](https://outcomeschool.com/blog/structural-and-referential-equality-in-kotlin) - Difference between == and === in Kotlin
- [React Native vs Flutter](https://outcomeschool.com/blog/react-native-vs-flutter) - React Native vs Flutter
- [Database Normalization vs Denormalization](https://outcomeschool.com/blog/database-normalization-vs-denormalization) - Database Normalization vs Denormalization
- [Extension function in Kotlin](https://outcomeschool.com/blog/extension-function-in-kotlin) - Extension function in Kotlin
- [data class in Kotlin](https://outcomeschool.com/blog/data-class-in-kotlin) - data class in Kotlin
- [String vs StringBuffer vs StringBuilder](https://outcomeschool.com/blog/string-vs-stringbuffer-vs-stringbuilder) - String vs StringBuffer vs StringBuilder
- [Parcelable vs Serializable](https://outcomeschool.com/blog/parcelable-vs-serializable) - Parcelable vs Serializable

Thanks

**Amit Shekhar**\
Co-Founder @ [Outcome School](https://outcomeschool.com)

You can connect with me on:

- [Twitter](https://twitter.com/amitiitbhu)
- [YouTube](https://www.youtube.com/@amitshekhar)
- [LinkedIn](https://www.linkedin.com/in/amit-shekhar-iitbhu)
- [GitHub](https://github.com/amitshekhariitbhu)

[**Read all of our blogs here.**](https://outcomeschool.com/blog)