Android
10 posts in this topic
Posts in this Topic
ios
Migrating Jar's home screen to @Observable
How we moved our busiest screen off ObservableObject — one migration, nine state objects, and 26% fewer view-body invocations for the same pixels.
Read More arrow_forwardios
Why Jar's SwiftUI Home Feed Scrolls on UIKit
Jar's new home feed is SwiftUI on screen and a UICollectionView underneath. Why LazyVStack couldn't carry it, and the five decisions that made SwiftUI cells scroll like native UIKit.
Read More arrow_forwardios
Journey of Reducing iOS App Size by 63%
Every mechanism, number, trap and dead end from taking the Jar iOS bundle from 460 MB to 170 MB: measurement, the size report, 20 levers, Kotlin/Native anatomy, and the two-package-manager crash-report loss.
Read More arrow_forwardios
Understanding and Eliminating Unnecessary SwiftUI View Recompositions
Eliminated long-running view body updates across multiple SwiftUI screens—improving frame stability, reducing CPU load, and preventing dropped frames and UI stutter during interactions and animations.
Read More arrow_forwardAndroid
Building a Kotlin Multiplatform SDK for Jar DigiGold: Lessons from the Trenches
One Codebase, Two Platforms, Zero Compromises: Our KMP Journey
Read More arrow_forwardAndroid
Boosting Jar’s Cold Start by 40%. Goodbye Janks, Hello Async NavGraph Inflation [Part-2]
It’s been a few months since we struck our first gold bar — our initial performance deep dive where we explored how Baseline Profiles, Startup Profiles, Metrics Manager, and more gave our app a serious performance lift. If you missed that, do yourself a favor and check it out here
Read More arrow_forwardAndroid
Decoding Android's Main Dispatchers: A Comparative Look at Main vs. Main Immediate
In Android development, dispatchers play a crucial role in managing concurrency, particularly when working with coroutines. Among these, the main dispatcher is perhaps the most significant, as it handles code execution on the user interface (UI) or main thread of your application. However, there is more nuance than meets the
Read More arrow_forwardAndroid
Automating Nightly Builds for Continuous Mobile App Health Monitoring
At Jar, we prioritize delivering a seamless and efficient mobile experience to our users. A critical part of achieving that goal is our nightly build system, which runs automated health checks across our mobile repositories every night at around 12 AM. This system ensures that both our Android and iOS
Read More arrow_forwardAndroid
WebView Caching in Android: 30% Faster Loading
Local caching in WebView, using request interception, decreasing load times and improving app performance in poor network conditions.
Read More arrow_forwardAndroid
Journey of Reducing Android App Size by 33% -
In the ever-evolving world of mobile app development, one key factor that significantly impacts user un-installs is the size of the app. A bloated app can lead to longer download times, more storage consumption, and ultimately, frustrated users. Recently, we embarked on a journey to reduce our app size from
Read More arrow_forward