【发布时间】:2017-11-05 18:17:05
【问题描述】:
在 Android 中如何在组件和应用程序之间传递数据有不同的方式。例如,以下是其中的一些:
Intent intent = new Intent(this, DestinationActivity.class);
intent.putExtra("key", "value");
or
Bundle args = new Bundle();
args.putInt("someInt", someInt);
args.putParcelable("key", ParcelableObject);
Intent intent = new Intent();
intent.setAction("someAction");
intent.putExtra("key", arg);
or
fragment.setArguments(args);
据我所知,在 java 中,原始值存储在堆栈中,而对象则放置在堆中。所以,我想知道当我们调用这些方法时会发生什么:bundle.putInt(int) 和 bundle.putParcelable(Object)、intent.putExtra("key"、"string value") 和 fragment.setArguments(args)安卓。
【问题讨论】:
-
您需要提出更具体的问题。你的帖子漫无边际,从共享 CPU 和操作系统级别的概念(例如在应用程序之间分配内存)到应用程序级别的概念(例如垃圾收集),再到有关特定实现细节的框架问题,再到提到不属于框架的函数,并且将是特定应用程序的实现细节。专注于一件事,并提出明确的问题。
-
@GabeSechan 感谢您的回复。编辑了我的问题。
-
好的,这是一个可回答的级别。给我一分钟。
标签: android android-intent memory-management bundle parcelable