gpt4 book ai didi

java - Android——多个 Activity 、保持 Activity 状态并保存状态?

转载 作者:行者123 更新时间:2023-12-02 08:20:49 24 4
gpt4 key购买 nike

我有一个应用程序,它在遍历文件系统时创建多个 Activity (每个文件夹或文件一个 Activity 、一个搜索 Activity 等)。该应用程序有时会在返回[后退]时崩溃。跟踪日志表明它在 onCreate(...) 中崩溃,这告诉我 Activity 已被销毁,并且在返回时正在重新创建它们。这是一个问题,因为我在 Activity 堆栈中前进时(即正常文件夹遍历)通过 Intent 传递数据。

这是我得到的:

ERROR/AndroidRuntime(978): Caused by: java.lang.NullPointerException Folder.onCreate(Folder.java:155)

ERROR/AndroidRuntime(978): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) ERROR/AndroidRuntime(978): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)...

在功能类似于文件系统浏览器的应用程序中,处理内存、多个(甚至可能是 0-100?) Activity 、返回等问题的最佳方法是什么?

谢谢。

编辑:如果可能的话,我想继续使用 Activity ,或者找到一种保留从一项 Activity 转移到另一项 Activity 的外观和感觉的方法。如果我能得到一些关于如何最大限度地减少 Activity 数量的建议(例如,保存数据、关闭屏幕外 Activity 、但即使需要重新调用的 Activity 也保留[后退]动画的方法),那将是理想的选择。重新创建)。谢谢。

最佳答案

不要为每次目录遍历都使用新的 Activity ,您会浪费大量资源。相反,有一个 Activity 充当文件浏览器,并且只保留您自己的状态(当前完全限定路径),然后当用户点击后退按钮时覆盖默认操作。请参阅onBackPressed()

当您的 onBackPressed 方法被触发时,您可以获取状态(完整路径)并简单地移动目录级别。

简单、高效、干净。

关于java - Android——多个 Activity 、保持 Activity 状态并保存状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507693/

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