Skip to content
GrindLoop: Android & iOS Interview Prep
  • Newsletter
  • Cookie Policy

sharedflow

Why One-Time Events in Jetpack Compose Keep Breaking

September 30, 2026 by Arsam
Laptop showing a dark-themed code editor on a wooden desk, representing Jetpack Compose development

SharedFlow drops one-time events with no collector, and Channel loses them on cancellation. One login screen built three ways, with Google’s fix: reduce the event to UI state.

Categories Bug-Squash Interview, Kotlin Interview Tags android, interview-prep, jetpack-compose, kotlin, sharedflow, stateflow, technical-interview Leave a comment

Follow GrindLoop

Recent Posts

  • String.format Locale Bug: Why “1234,50” Throws NumberFormatException on Android
  • Does Taking a Hint in a Coding Interview Count Against You?
  • Why Your “Why Do You Want to Work Here” Answer Could Be About Any Company
  • Kotlin Mutex withLock Deadlock: Why a Nested withLock Hangs Forever
  • How to Reapply After a Failed Interview When the Recruiter Gives No Feedback

Recent Comments

  1. Does Taking a Hint in a Coding Interview Count Against You? on What the Algorithm Round Actually Tests in Android Interviews
  2. Why Your "Why Do You Want to Work Here" Answer Could Be About Any Company on Why Sounding Too Rehearsed Can Now Hurt You in the Behavioral Round
  3. Kotlin Mutex withLock Deadlock: Why a Nested withLock Hangs Forever on Why Fast Scrolling Duplicates Items in Your Paginated List
  4. How to Reapply After a Failed Interview When the Recruiter Gives No Feedback on What the Senior Android System-Design Round Actually Tests
  5. Tell Me About a Time You Mentored Someone: Answering Without a Formal Mentee on Your Behavioral Story Is Being Scored Against a Level You Didn’t Pick
© 2026 GrindLoop: Android & iOS Interview Prep • Built with GeneratePress
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}