Java 活动之间传递ArrayList的机制

Java 活动之间传递ArrayList的机制,java,android,arraylist,Java,Android,Arraylist,首先我想说的是如何在活动之间传递Arraylist。我想知道整个arraylist是使用intent传递的,还是只传递其基址。(如C所示) 此外,如果传递了整个arraylist,那么是否有任何机制可以像在c中那样只传递其基,以便多个活动可以使用单个arraylist而不是同一arraylist的副本。 注意在回答这个问题之前,我要说的是,我已经访问了许多关于stackoverflow的与arraylist相关的问题,但没有人解释过我的问题 ArrayList arr=new ArrayList

首先我想说的是如何在活动之间传递Arraylist。我想知道整个arraylist是使用intent传递的,还是只传递其基址。(如C所示) 此外,如果传递了整个arraylist,那么是否有任何机制可以像在c中那样只传递其基,以便多个活动可以使用单个arraylist而不是同一arraylist的副本。 注意在回答这个问题之前,我要说的是,我已经访问了许多关于stackoverflow的与arraylist相关的问题,但没有人解释过我的问题

ArrayList arr=new ArrayList();
ArrayList<String> arr = new ArrayList<>();
        arr.add("Hello");

        Intent intent = new Intent(MainActivity.this, ToActivity.class);
        intent.putExtra("array_list", arr);
        startActivity(intent);
arr.add(“你好”); 意向意向=新意向(MainActivity.this、ToActivity.class); intent.putExtra(“数组列表”,arr); 星触觉(意向);
在ToActivity活动中:

Bundle bundle = getIntent().getExtras();
         if (bundle != null) {
            ArrayList<String> arr = b.getStringArrayList("array_list");
        }
Bundle Bundle=getIntent().getExtras();
if(bundle!=null){
ArrayList arr=b.getStringArrayList(“数组列表”);
}

可以通过意图传递的数据是可序列化、可打包或基本类型。ArrayList已可序列化,因此在跨活动传递时将序列化它。
如果你想在不同的活动中使用相同的Arraylist,你可以创建singleton,从不同的点访问相同的Arraylist

你可以给我发送一些参考资料google.com+android源代码包为什么不创建一个示例并进行调试。你自己检查一下。我认为这是最好的办法。我确实这样做了,我认为整个arraylist都通过了,但我不确定这一点,只是为了证实这一点,我发布了这个问题。我了解到,单身人士的性能效率不高,还有更好的选择吗