【问题标题】:Android content saving安卓内容保存
【发布时间】:2009-12-31 09:35:59
【问题描述】:

我有一个奇怪的问题。正如我在之前的帖子中所问的那样,我的应用程序中有很多来自 NET 的数据。问题是那里有很多文本和图像,所以虽然我可以让用户在点击列表项时等待,但我不想让他在点击后退按钮时等待。

从某种意义上说,我不想重新下载所有数据;下载的数据 1ce 应保留。

哪一种方法是正确的?

1. 使用一个特殊的类来存储所有数据...并在每次返回时使用变量,

2. 类中是否有具体的保存实例方法来保存此类数据 本身...如果是,请告诉我如何调用已保存的实例 Activity 单击返回时。

【问题讨论】:

    标签: android android-activity savestate


    【解决方案1】:

    通过“用户单击后退按钮”,我了解到上一个活动显示并返回到堆栈的顶部(请参阅activity lifecycle)。

    这意味着这个活动不会再次创建,而是恢复(除非它被核心杀死,因为其他应用程序需要内存),所以它的字段和属性保持它们的值。 因此,如果您将数据存储在某些活动字段中,您可能能够检索它们的值并显示它们,而无需重新下载它们。

    当然,您必须在访问这些字段之前对其进行测试,以避免在活动首次启动时出现 NPE。

    【讨论】:

      【解决方案2】:

      当您启动或返回它时,您不应依赖任何已经存在的Activity

      查看之前关于缓存已下载数据的问题:
      What is the ideal place to cache images?

      当用户输入Activity 时,您不应该在 UI 中出现任何暂停;您应该在后台线程上进行所有下载并向用户显示某种进度指示器。如果您不这样做并且 UI 线程被缓慢的下载(大约 15 秒)阻塞,用户将看到一个“应用程序无响应”对话框,并要求您终止您的应用程序或继续等待。不好。

      【讨论】:

        猜你喜欢
        • 2017-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-29
        • 2012-06-29
        • 2011-12-13
        • 2011-01-09
        相关资源
        最近更新 更多