Everybody Hates Nougat
summary
Nougat starts throwing hard TransactionTooLargeException errors where older releases only logged failures because the OS enforces a ~1 MB binder buffer for cross‑process parcels; typical failures happen well under 1 MB (typing Moby Dick breaks around chapter 14). The presented fix serializes bundles with Parcel.marshall, base64 stores them in SharedPreferences and restores on demand via the Bridge library, trading a small startup/read pause (tens to low hundreds ms) for avoiding crashes, plus aggressive clearing to limit on‑disk retained state.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:00Transaction to Large Exception
- 2:44Binder Transactions
- 6:04Saving State
- 13:18Solutions
- 17:45State Manager
- 20:29Data Persistence
- 25:07Marshall Method
- 29:16Clearing Data
- 31:35Bridge
- 33:59Final Thoughts
related talks
39mAndroid Parcels: The Bad, the Good and the Better - Introducing Android's Safer Parcel
35mHey, Your Parcel Looks Bad - Fuzzing and Exploiting Parcel -Ization Vulnerabilties in Android
36mSerial: Improving Data Serialization on Android
40m640K ought to be enough for anyone
49mUpgrading to Moshi
49mTrash Talk
15mBinder: fixing contention in buffer allocations
40mBeyond Exceptions: Building Resilient Android Apps with S…
