我有一个奇怪的问题。正如我在之前的帖子中所问的那样,我的应用程序中有很多来自 NET 的数据。问题是那里有很多文本和图像,所以虽然我可以让用户在他点击列表项时等待,但我不想让他在他点击后退按钮时等待。
从某种意义上说,我不想重新下载所有数据;应保留下载的数据 1ce。
哪个1是正确的方法?
1.使用一个特殊的类来存储所有数据......每次我回去都使用变量,
或者
2.是否有任何特定的保存实例方法可以将此类数据保存在类本身中...如果是,请告诉我单击返回时如何调用保存的实例活动。
我有一个奇怪的问题。正如我在之前的帖子中所问的那样,我的应用程序中有很多来自 NET 的数据。问题是那里有很多文本和图像,所以虽然我可以让用户在他点击列表项时等待,但我不想让他在他点击后退按钮时等待。
从某种意义上说,我不想重新下载所有数据;应保留下载的数据 1ce。
哪个1是正确的方法?
1.使用一个特殊的类来存储所有数据......每次我回去都使用变量,
或者
2.是否有任何特定的保存实例方法可以将此类数据保存在类本身中...如果是,请告诉我单击返回时如何调用保存的实例活动。
通过“用户单击后退按钮”,我了解上一个活动显示并返回在堆栈的顶部(请参阅活动生命周期)。
这意味着这个活动不会再次创建,而是恢复(除非它被核心杀死,因为其他应用程序需要内存),所以它的字段和属性保持它们的值。因此,如果您将数据存储在某些活动字段中,您可能能够检索它们的值并显示它们而无需重新下载它们。
当然,您必须在访问这些字段之前对其进行测试,以避免在活动首次启动时出现 NPE。
Activity
当你开始或返回它时,你不应该依赖任何已经存在的东西。
查看之前关于缓存已下载数据的问题:
缓存图像的理想位置是什么?
Activity
当用户输入;时,您不应该在 UI 中出现任何暂停。您应该在后台线程上进行所有下载并向用户显示某种进度指示器。如果您不这样做,并且 UI 线程因下载缓慢(大约 15 秒)而阻塞,用户将看到“应用程序无响应”对话框,并要求您终止您的应用程序或继续等待。不好。