Junior — Middle
How can a TransactionTooLargeException error be detected and diagnosed in an application?
sobes.tech AI
Answer from AI
The TransactionTooLargeException error occurs when data transmitted via Binder (for example, in onSaveInstanceState or when passing through Intent) exceeds the transaction size limit (usually around 1 MB).
To detect and diagnose:
- Logs: carefully examine Logcat logs for
TransactionTooLargeException. - Data analysis: check what data is being saved in
Bundleor passed between components. - Optimization: reduce the amount of data, for example, by not saving large objects in
onSaveInstanceState, and instead using ViewModel or other state preservation mechanisms.
Example of diagnosis:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// Avoid saving large objects
// Instead, save only identifiers or minimal data
}
Using such approaches helps prevent Binder overflow and exceptions.