gpt4 book ai didi

android - Activity 是否在调用 onPause() 之前暂停?

转载 作者:行者123 更新时间:2023-11-29 15:39:47 25 4
gpt4 key购买 nike

Activity 是否在调用 onPause() 方法之前暂停?谷歌引用资料说,当一个 Activity 暂停时,它可能会在内存极低的情况下被系统杀死。它还说我们应该在 onPause() 中提交未保存的更改。所以我猜 Activity 在调用 onPause( ).但我不知道如何证明。所以我想知道是否是真的?有没有一种方法可以返回当前的 Activity 状态?

最佳答案

callActivityOnPause 方法的 Instrumentation 类暂停 Activity :

/**
* Perform calling of an activity's {@link Activity#onPause} method. The
* default implementation simply calls through to that method.
*
* @param activity The activity being paused.
*/
public void callActivityOnPause(Activity activity) {
activity.performPause();
}

它只是调用ActivityperformPause方法:

final void performPause() {
mDoReportFullyDrawn = false;
mFragments.dispatchPause();
mCalled = false;
onPause();
mResumed = false;
if (!mCalled && getApplicationInfo().targetSdkVersion
>= android.os.Build.VERSION_CODES.GINGERBREAD) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onPause()");
}
mResumed = false;
}

如您所见,onPause 是在 performPause 内部调用的,所以您是对的:

activity goes into paused state after calling onPause().

关于android - Activity 是否在调用 onPause() 之前暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697814/

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