startManagingCursor的目的是什么?

好的,文档指出它允许Activitypipe理游标的生命周期。 但是我并没有真正看到它的意义,因为当活动被破坏时,对新创build的游标的引用也应该被删除,然后游标本身在下一个垃圾收集循环中被消灭。 那为什么要麻烦?

Solutions Collecting From Web of "startManagingCursor的目的是什么?"

你不应该依赖被垃圾收集器销毁的游标……游标代表了大量的资源:游标所拥有的所有数据,以及连接到拥有游标的内容提供者的连接,这也意味着需要它过程被留在记忆中。

在更新版本的Android中,如果游标的终结器未经显式closures而运行,则会打印日志消息,因为应用程序在closures游标时非常重要。

当活动被销毁时,托pipe游标负责closures游标,但是他们做的也不止于此:当活动停止并重新启动时,它们将被停用并重新进行查询。

这就是说,在这一点上,你应该考虑托pipe游标被弃用。 新的Loader API更好,并且对应用程序的用户体验有了许多改进 – 它确保所有的游标操作都在主线程之外完成(所以在UI交互和animation中没有小故障),并且可以当由于configuration更改而重新启动活动而不是必须重新加载数据时,将活动实例中的现有游标数据传播。

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