Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓;“家”;第一次调用onCreate()时的关键问题_Android - Fatal编程技术网

Android 安卓;“家”;第一次调用onCreate()时的关键问题

Android 安卓;“家”;第一次调用onCreate()时的关键问题,android,Android,当我第一次打开应用程序时,我按了home键 再次单击我的应用程序 它不是直接调用onResume()。它是从启动屏幕onCreate()加载的 这是安卓默认的吗 按下“后退”按钮后,应用程序已关闭。之后,我打开应用程序并按下home键,问题不在于调用Resume()方法,而在于启动屏幕onCreate()。 我的问题是,在按后退键之前,如果我们按home键并打开应用程序,应用程序将重新打开。它添加在堆栈中 我已经下载了“Facebook”应用程序并进行了检查。那个应用程序也有同样的问题 如何在a

当我第一次打开应用程序时,我按了home键

再次单击我的应用程序

它不是直接调用onResume()。它是从启动屏幕onCreate()加载的

这是安卓默认的吗

按下“后退”按钮后,应用程序已关闭。之后,我打开应用程序并按下home键,问题不在于调用Resume()方法,而在于启动屏幕onCreate()。

我的问题是,在按后退键之前,如果我们按home键并打开应用程序,应用程序将重新打开。它添加在堆栈中

我已经下载了“Facebook”应用程序并进行了检查。那个应用程序也有同样的问题


如何在android中解决此问题?

当应用程序不在前台时,android可能会决定终止应用程序。如果应用程序被终止,重新启动它可能会再次显示启动屏幕

When open my application first time , i pressed home key.
again i click my application.
当您按主控键时,您的应用程序将进入后台,如果您直接从后台应用程序列表中打开应用程序,它将从您离开的位置开始。(主控键旁边的按钮)

如果您单击应用程序列表中的应用程序图标,它将从第一个活动再次启动。

你可以参考这个链接


检查开发人员选项。
我猜你的问题是“不要保留活动”。

如果你在后台需要太多内存,我想你的应用程序会被杀死。因此,如果你知道你的应用程序进入后台,请释放一些内存。它不能完全是为了测试,你可以试试

还有一个回调通知您应该释放内存:

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
@Override
public void onTrimMemory(int level) {
    super.onTrimMemory(level);
    if(level >= TRIM_MEMORY_MODERATE) {
        // free some memory
    } else if(level >= TRIM_MEMORY_BACKGROUND) {
        // free some more memory
    }
}

我从这里得到了解决方案:

在启动屏幕活动中添加以下代码onCreate()方法:

if (!isTaskRoot()) {
    final Intent intent = getIntent();
    final String intentAction = intent.getAction();
    if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) &&
            intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {
        finish();
    }
}

检查尼拉利的回答是否错误。仅当android.intent.action.MAIN被终止(手动或由系统终止)时,才会启动它。如果使用“主页”按钮,然后重新启动它,它将识别活动堆栈并返回到上一个活动。从应用程序列表启动它并不重要。