gpt4 book ai didi

android - startManagingCursor 的目的是什么?

转载 作者:IT老高 更新时间:2023-10-28 23:19:58 26 4
gpt4 key购买 nike

好的,文档声明它让 Activity 管理光标的生命周期。但是我并没有真正看到它的意义,因为当 Activity 被销毁时,对新创建的游标的任何引用也应该被删除,然后游标本身在下一个垃圾收集周期中消失。那何必呢?

最佳答案

您不应该依赖游标被垃圾收集器销毁...游标代表大量资源:游标持有的所有数据,加上与拥有游标的内容提供者的连接,这也意味着要求将其进程保存在内存中。

在较新的 Android 版本中,如果游标的终结器在未显式关闭的情况下运行,则会打印日志消息,因为应用程序在完成游标后关闭游标非常重要。

托管游标负责在 Activity 被销毁时关闭游标,但它们的作用还不止于此:它们将在 Activity 停止和重新启动时被停用和重新查询。

也就是说,此时您应该考虑弃用托管游标。新的 Loader API 好多了,并且对您的应用程序的用户体验进行了许多改进——它确保所有光标操作都在主线程之外完成(因此您的 UI 交互和动画中不会出现故障),并且可以当由于配置更改而重新启动 Activity 时,跨 Activity 实例传播现有游标数据,而不必重新加载数据。

如果您需要在比 3.0 更早的 Android 版本上运行,您可以为这些应用程序使用 v4 支持库的 Loader 实现。

关于android - startManagingCursor 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542745/

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