android:launchMode ="singleInstance"使应用程序非常慢

标签 android android-launcher

我的应用程序中有 2 个 Activity 。 A Activity 是启动器 Activity 。当我第一次运行应用程序时,启动器 Activity 会运行,但是当我按下主页按钮并通过单击应用程序图标从那里重新启动应用程序时,我总是会运行 B Activity 。
我想确保启动应用程序时应始终运行 Activity ​​ A。

这是 list 代码:

 <application
        android:icon="@drawable/icon"
        android:label="@string/app_name" >
        <activity
            android:name="com.velosys.smsManager.Activities.a"
            android:launchMode="singleInstance"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.velosys.smsManager.Activities.b" />
</application>

使用 android:launchMode="singleInstance" 服务于我的目的,但它使得从一个 Activity 到另一个 Activity 的移动非常缓慢。你能给我建议 `android:launchMode="的任何选项吗singleInstance”。请帮助我。在此先感谢。

最佳答案

您可以尝试在 B Activity 中覆盖 onUserLeaveHint() 方法(这将注册主页按钮按下事件),然后创建 Intent

    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(startMain);

这不是一个理想的解决方案

编辑:

是的,最好的解决方案是在 B Activity 的 onPause() 方法中调用 finish()

关于android:launchMode ="singleInstance"使应用程序非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13857257/

相关文章:

javascript - 当我运行此 javascript 解析云代码时,只有部分解析对象更新(始终为 9,但不再更新)

java - 在Android中使用Java Double.parseDouble和相同的方法有区别吗?

Android 启动器在启动器中按主页以转到默认屏幕

运行新应用程序时的 Android 动画

java - 分块发送大图像

android - 为什么 WebView 比 TextView 快这么多

单击应用程序图标打开时,Android 应用程序会重新启动

Android 启动器图标太小

android - 通知小图标颜色不变 Pushwoosh Android SDK