gpt4 book ai didi

android - 从应用程序屏幕打开应用程序和最近使用的应用程序列表有什么区别? (安卓

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:22 29 4
gpt4 key购买 nike

谁能告诉我从应用程序屏幕打开应用程序和从长按主页按钮时弹出的最近使用过的应用程序列表打开应用程序有什么区别?

我什至不知道最近使用列表的存在,直到一位 friend 通过从那里启动它来成功破坏我的应用程序。他尝试了两次并以同样的方式强制退出,但当他从应用程序屏幕启动它时,它打开得很好。

错误日志告诉我,我的 ListView 的 ArrayAdaptor 的 getCount 方法中发生了 nullPointerException。

无论如何,我只是想知道是否存在我需要了解并调整我的代码来处理的差异?

最佳答案

AFAIK,如果您的应用程序完全关闭,从应用程序屏幕启动和最近使用的应用程序列表应该没有区别,刷新启动您的应用程序并打开您的应用程序的 MainActivity(通过堆栈将您的应用程序的 MainActivity 插入新创建的任务)

但是,由于 Android 是多任务操作系统,您的应用程序可以在待机模式下进入后台,即打开您的应用程序然后短按主页按钮,这与按返回按钮不同。如果您没有覆盖应用程序中按下的这些键,请多次按下后退按钮,将所有 Activity 从 Activity 堆栈中弹出并最终终止您的应用程序,而按下主页按钮会将系统的 HomeActivity 置于前台,从而翻转您的应用程序(又名。带有 Activity 堆栈的任务)进入后台。

这里的事情变得更加有趣,这取决于您配置 Activity 的 android:launchMode 的值。在 AndroidManifest.xml 中,如果您使用 standard 或 singleTop:
1. 从最近使用的应用程序列表启动应用程序始终将您的待机 Activity 带回前台,即重新排序 Activity 堆栈。
2. 从应用程序屏幕启动应用程序将创建一个新的 MainActivity 实例并打开它,即将新创建的 MainActivity 插入 Activity 堆栈,所以现在您的应用程序 Activity 堆栈中有两个实例

如果您使用 singleTask 或 singleInstance:
2. 从应用程序屏幕启动应用程序将使用应用程序 Activity 堆栈中的备用 MainActivity(如果存在)并重新打开它,即重新排序 Activity 堆栈。

结帐 Tasks and Back Stack查看不同的配置如何影响应用程序的 Activity 堆栈行为。

关于android - 从应用程序屏幕打开应用程序和最近使用的应用程序列表有什么区别? (安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8348791/

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