gpt4 book ai didi

android - Theme.NoDisplay 造成舞台延迟

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:14 30 4
gpt4 key购买 nike

我在使用 Theme.NoDisplay 主题时遇到了一个奇怪的错误:它使显示另一个 Activity 变得非常慢!

我从通知中打开一个不可见的 Activity,该 Activity 又会根据 Intent 操作打开一个新的 Activity。

如果我使用任何其他主题,如 Theme.AppCompat,则打开输入对话框需要大约 300 毫秒。使用 Theme.NoDisplay 主题,大约需要 5 秒!

如果我使用 logcat,那么我可以看到 InputActivity 中的 onCreateonResume 等在不可见的几毫秒后被调用 Activity 已创建,但在它真正可见之前,需要几秒钟的时间。我不明白该主题如何产生这种效果或如何解决它(不使用服务)。

隐形 Activity :

<activity
android:name=".InvisibleActivity"
android:excludeFromRecents="true"
android:noHistory="true"
android:launchMode="singleTask"
android:taskAffinity=""
android:theme="@android:style/Theme.NoDisplay"/>

要打开的 Activity :

<activity
android:name=".InputActivity"
android:configChanges="locale"
android:hardwareAccelerated="false"
android:label="@string/lblAddTime"
android:theme="@style/theme.Dialog"
android:windowSoftInputMode="stateVisible|adjustResize" />

通知的 Intent :

Intent stopIntent = new Intent(context, InvisibleActivity.class);
stopIntent.setAction(InvisibleActivity.STOP_TIMER);
stopIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

PendingIntent pStopIntent = PendingIntent.getActivity(context, 0, stopIntent, 0);

而在 InvisibleActivityonCreate 中,这称为:

Intent i = new Intent(getApplicationContext(), InputActivity.class);
startActivity(i);

最佳答案

这已经很老了,但如果有人想知道,this link谈论为什么会发生这种情况:

PSA: The new requirement to immediately finish an activity if using Theme.NoDisplay is not a regression, this has always been a requirement of it (see https://developer.android.com/reference/android/R.style.html#Theme_NoDisplay for example).

The reason the platform in M is now crashing the app if it doesn't use this is because not using it would previously break in very subtle and mysterious ways. For example, you would sometimes end up with your app ANRing for no reason.

关于android - Theme.NoDisplay 造成舞台延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845408/

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