Android 从被调用的活动传回值

Android 从被调用的活动传回值,android,Android,我是android编程新手,有以下问题 我有一个活动(屏幕),它调用另一个活动(屏幕)。我可以通过创建intext并使用PUTEXTS从Activity2传回值。然后,当我返回到主活动1时,我可以(onActivityResult)从返回的意图中检索字符串-值对 问题1如果Activity2完成,那么如果垃圾收集器启动,我在其中创建的意图释放的可能性有多大?或者android在退出应用程序之前不会清除任何类似的内存 问题2)如果我回到Activity2并再次执行“新的意图…”是否会分配更多内存?

我是android编程新手,有以下问题

我有一个活动(屏幕),它调用另一个活动(屏幕)。我可以通过创建intext并使用PUTEXTS从Activity2传回值。然后,当我返回到主活动1时,我可以(onActivityResult)从返回的意图中检索字符串-值对

问题1如果Activity2完成,那么如果垃圾收集器启动,我在其中创建的意图释放的可能性有多大?或者android在退出应用程序之前不会清除任何类似的内存

问题2)如果我回到Activity2并再次执行“新的意图…”是否会分配更多内存?如果是,是否效率低下

问题3-是否有更好的方法将数据从被调用的活动传递回调用的活动,或者是否使用意图和putExtras等是唯一的方法

谢谢
Tony

活动之间要传递多少数据?字节、千字节还是兆字节

如果只有字节或千字节,那么这就是我的答案:

  • 不要担心垃圾收集器,它会完成它的工作的
  • 是的,将分配更多内存。不,这不是低效的
  • 意向和附加是首选方式

  • 如果数据非常大,您可以将其保存到sd卡,并在活动之间传递文件uri。

    我的建议是


    如果您的数据已在各种活动中使用,则应使用意图将数据从一个活动传递到另一个活动。创建全局级别的静态变量,然后通过应用程序访问该全局变量。

    在要从中发送数据的类中-

    Intent intent = new Intent(context,NextClass.class); 
    intent.putExtra("ACTIVITY_ID","Any value or variable" );
    intent.putExtra("CUSTOMER_ID","Any Value or variable" );
    startActivityForResult(intent, 0);
    
    现在在接收课上,让我们说下一节课

    Bundle extras=getIntent().getExtras();
    String ACTIVITY_ID=extras.getString("ACTIVITY_ID");
    String CUSTOMER_ID=extras.getString("CUSTOMER_ID");
    

    通过使用这种方法,我们可以很容易地将数据从一个活动传递到另一个活动…

    如果您从上述答案中得到了想法,那么您能否接受这个答案,以便对其他人有充分的帮助。我认为全局变量是一个“坏主意”“东西;-)这类似于我正在做的事情,但我是从一个调用的活动返回的。正如在上面的帖子中提到的,您可以创建全局静态变量并为该变量设置所需的值,并且无论何时需要,您都可以访问。。。