title: TransactionTooLargeException when starting new Activity
body: <p>I thought the Intent's extra limit in size was 1MB, as reported on <a href="http://developer.android.com/reference/android/os/TransactionTooLargeException.html">docs</a>. Anyway, I lost one day chasing this terrible <code>TransactionTooLargeException</code>:</p>
  
  <pre><code> E/JavaBinder(368): !!! FAILED BINDER TRANSACTION !!!
   Exception when starting activity android/com.android.internal.app.ChooserActivity
   android.os.TransactionTooLargeException
  at android.os.BinderProxy.transact(Native Method)
  at    android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:705)
  at com.android.server.am.ActivityStack.realStartActivityLocked(ActivityStack.java:690)
  at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:799)
  at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1743)
  at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1381)
  at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1129)
  at com.android.server.am.ActivityStack.activityPaused(ActivityStack.java:1027)
  at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:4288)
  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:381)
  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1611)
  at android.os.Binder.execTransact(Binder.java:367)
  at dalvik.system.NativeStart.run(Native Method)
  </code></pre>
  
  <p>the bad thing is that startActivity fails, but ActivityManager keeps restarting it over and over, spawning infinite processes. This seems to be confirmed on <a href="http://www.lonestarprod.com/?tag=transactiontoolargeexception">this</a> blog post, where the author indicates a <strong>'limit' of 86389 characters</strong>. My relevant piece of code is quite simple:</p>
  
  <pre><code>                    Intent myIntent = new Intent(activity, VacancySwipeActivity.class);
                      //myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                      Bundle ex = new Bundle();
                      ex.putSerializable(Constants.Extra.VACANCY, vacancies);
                      ex.putString("token", token);
                      ex.putString("cosa", cosa.getText().toString());
  
                      ex.putInt("dist", searchDistance.getProgress());
                      ex.putString("dove", dove.getText().toString());
                      if (ret.getSearchLocation() != null) {
                          ex.putParcelable("userLoc", ret.getSearchLocation());
                      }
                      ex.putInt("totRows", ret.getTotFound());
  
                      myIntent.putExtras(ex);
                      activity.startActivity(myIntent);
  </code></pre>
  
  <p>The ArrayList vacancies is very small, about 8 POJO , that gets loaded in a Thread and then passed to a new activity via Intent's extra. If I increase it to about 90k, the app loops indefinitely requiring a reboot, a real annoyance. <strong>Anyone else experienced this</strong>?</p>