第一次Android“HOME”键问题,调用onCreate()

时间:2013-06-07 10:19:35

标签: android

第一次打开我的应用程序时,我按下了主页键。

再次点击我的申请。

它没有直接调用onResume()。它从启动画面onCreate()加载。

是android默认。?

在我按下“返回”按钮后,应用已关闭。之后,我打开了应用程序并按下了主页键,问题不是它调用onResume()方法而不是来自启动画面onCreate()。

我的问题是,在按回键之前,如果我们按主页键并打开应用程序,那么应用程序将会重新打开。它被添加到堆栈中。

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

如何在android中解决这个问题?

5 个答案:

答案 0 :(得分:2)

当Android应用程序不在前台时,它可能决定终止它。如果应用程序被杀死,再次启动它可能会再次显示启动画面。

答案 1 :(得分:1)

When open my application first time , i pressed home key.
again i click my application.

当您按主页键时,您的应用程序将进入后台,如果直接 open your application from background apps list. ,它将从您离开的位置开始(主页旁边的按钮)键)

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

您可以参考此链接

How to make an android app return to the last open activity when relaunched?

答案 2 :(得分:1)

检查您的开发者选项。 我的猜测是你的问题是“不要保持活动”。

答案 3 :(得分:0)

我认为如果您在后台需要太多内存,您的应用就会被杀死。所以,如果你知道你的应用程序去后台释放一些内存。它一定不是全部,只是为了测试你可以试试。

还有一个回调告诉你应该释放你的记忆:

@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
    }
}

答案 4 :(得分:0)

我从这里得到了解决方案:http://code.google.com/p/android/issues/detail?id=2373

在启动画面活动中添加此代码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();
    }
}