【发布时间】:2016-11-18 11:54:10
【问题描述】:
是否可以使用意图将线程对象传递给新活动进行一些处理,然后将线程返回到主活动?
感谢您的帮助。
【问题讨论】:
-
排序答案...否。使用服务,更具体地说是使用工作线程的 IntentService/BroadcastReceiver,或 AsyncTask .. 或 RxJava ..
-
嗨,我是 android 的新手,但是 30 年的多种语言编程经验。
-
我还不太清楚如何使用 stakoverflow :))。所以我为错误的发布道歉。当我说传递线程意味着传递类的实例时,如何扩展线程。是否可以通过引用活动来传递此类?
-
Activity 有独立的生命周期,我认为你必须更好地解释你的用例场景——我敢肯定,一旦你对平台有了更好的了解,它就会变得简单。例如,如果您想从活动 A 启动活动 B,并将结果返回给活动 A(A 显式依赖活动 B 的结果),那么您将使用
startActivityForResult而不是startActivity- startActivityForResult 的示例:@ 987654321@第二个activity可以处理任何线程,我建议AsyncTaskLoader -
Intents 只允许序列化对象(框架使用单独的进程从内存传递序列化对象,因此与您的应用程序/活动不同的内存地址空间),因此您不能将指针传递给目的。如果您想在活动之间传递对象,那么我建议您使用
Parcelable接口(或可序列化)。注意:不推荐用于像Lists这样的大数据集,因为可以编组/解组的数据量有限制(您将收到 BINDER TRANSACTION FAILED 消息)。
标签: android android-activity parameter-passing