Android 我不应该使用FragmentManager';s executePendingTransactions()(在主线程内)?

Android 我不应该使用FragmentManager';s executePendingTransactions()(在主线程内)?,android,android-fragments,Android,Android Fragments,我正在学习如何使用片段,到目前为止,我遇到了很多小问题。FragmentManager的executePendingTransactions方法看起来可能有一些自己的方法,特别是因为官方Android文档中的描述中有以下注释: 如果要立即执行任何此类挂起的操作,可以调用此函数(仅从主线程)来执行。请注意,所有回调和其他相关行为都将在此调用中完成,因此请注意调用的位置。 在我看来,这是一个相当隐晦的警告。这些“回调和其他相关行为”将如何影响我的应用程序?当从主线程调用此函数时,这会导致问题吗?我

我正在学习如何使用片段,到目前为止,我遇到了很多小问题。FragmentManager的
executePendingTransactions
方法看起来可能有一些自己的方法,特别是因为官方Android文档中的描述中有以下注释:

如果要立即执行任何此类挂起的操作,可以调用此函数(仅从主线程)来执行。请注意,所有回调和其他相关行为都将在此调用中完成,因此请注意调用的位置。


在我看来,这是一个相当隐晦的警告。这些“回调和其他相关行为”将如何影响我的应用程序?当从主线程调用此函数时,这会导致问题吗?我找不到任何具体的例子,因此我请求任何人帮助澄清这个警告:什么时候我不应该在主线程中使用
executePendingTransactions
,如果我这样做会发生什么可怕的事情?或者只要它在主线程中就可以安全地使用吗?

当您在UI线程以外的线程中时,不应该调用此方法

具体规定见:

如果要立即执行任何此类挂起的操作, 您可以调用此函数(仅从主线程)来执行此操作


您不能从已经执行的事务内部调用它。 您将获得“Recursive entry to executePendingTransactions”

例如: 替换片段,然后调用ExecutePendingTransactions。
在该片段的onCreate中,您替换了另一个片段(使用活动的fragmentManager)

谢谢@Waqas,我在发布此文章之前确实阅读了该线程。不过,它仍然没有回答我的问题,因为它只关注一个特定的案例。对,我也读了这部分,但当它说“小心从哪里调用它”时,听起来好像它也指在UI线程中使用它。所以我的问题是:什么时候我不应该在UI线程中使用
executependingtransactions
?或者,只要它在UI线程中,在任何情况下使用它都安全吗?是的,您可以在任何情况下使用它,只要它在UI线程中。