Pass a custom object list to an activity: parcelable or serializable?
<p>From android documentation:</p>

<blockquote>
  <p>NOTE: Seeing Parcelable might have triggered the question, why is Android not using the built-in Java serialization mechanism? It turns out that the Android team came to the conclusion that the serialization in Java is far too slow to satisfy Android’s interprocess-communication requirements. So the team built the Parcelable solution. The Parcelable approach requires that you explicitly serialize the members of your class, but in the end, you get a much faster serialization of your objects.</p>
</blockquote>

<p><strong>So we know that Parcelable is actually better than Serializable</strong> but, on the other hand,</p>

<blockquote>
  <p>Also realize that Android provides two mechanisms that allow you to pass data to another process. The first is to pass a bundle to an activity using an intent, and the second is to pass a Parcelable to a service. These two mechanisms are not interchangeable and should not be confused. That is, the Parcelable is not meant to be passed to an activity. <strong>If you want to start an activity and pass it some data, use a bundle. Parcelable is meant to be used only as part of an AIDL definition</strong>.</p>
</blockquote>

<p><strong>Ok man, but I need to pass a custom object list to my activity!So into the bundle I still have to put either a parcelable or a serializable!</strong></p>

<p>For now I did this way:</p>

<pre><code>public class MyObject implements Serializable{
</code></pre>

<p>and to pass:</p>

<pre><code> Bundle b = new Bundle();
 b.putSerializable("objList", anArrayListWithMyObjectElements);
 intent.putExtra("objList", b);
</code></pre>

<p>as ArrayList implements Serializable too it works fine...but I don't see the point of using a bundle this way...but android tells me to not use Parcelable for activity communication...what's the correct answer??</p>
