gpt4 book ai didi

android - 从后台线程完成 android Activity 是否安全?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:37 27 4
gpt4 key购买 nike

在 Android 中,从后台线程调用 Activity.finish() 是否安全,还是只能从主线程调用? documentation没有提及此方法的线程安全性。

最佳答案

不,不是。

代码至少使用了一个变量mFinished,没有同步。句号。

   public void finish() {
if (mParent == null) {
int resultCode;
Intent resultData;
synchronized (this) {
resultCode = mResultCode;
resultData = mResultData;
}
if (false) Log.v(TAG, "Finishing self: token=" + mToken);
try {
if (resultData != null) {
resultData.setAllowFds(false);
}
if (ActivityManagerNative.getDefault()
.finishActivity(mToken, resultCode, resultData)) {
mFinished = true;
}
} catch (RemoteException e) {
// Empty
}
} else {
mParent.finishFromChild(this);
}
}

关于android - 从后台线程完成 android Activity 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20412871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com