gpt4 book ai didi

android - 最佳光标使用

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:33 24 4
gpt4 key购买 nike

我偶然发现了很多关于使用 Cursor 对象的链接,但没有关于它如何最佳使用的链接。因此,我有几个问题非常想得到解答。

  • 是否可以对应用程序的所有数据库操作使用一个游标?如果不是,为什么?
  • 是否真的有必要在每次使用后继续打开和关闭Cursor
  • 关于 this link close() 的定义是关闭Cursor,释放其所有资源并使其完全无效。 当它变为无效时会发生什么?它可以重复使用吗?

非常感谢。

最佳答案

1.)是否可以对应用程序的所有数据库操作使用一个 Cursor?如果没有,为什么?

是的。可以重新使用游标。但是,您应该知道 Cursor 的工作并不像您想象的那么直观。游标不会从某个数据存储中获取所有数据并将其全部存储在内存中。相反,它只根据需要获取数据,从而最大限度地减少内存使用。因此,在重新初始化之前关闭 Cursor 总是一个好主意。话虽这么说,但每次需要时都创建一个全新的 Cursor 并没有太大的性能损失。

2.)真的有必要在每次使用后一直打开和关闭光标吗?

是的,是的,是的。我曾经在调试一些网络应用程序时遇到很多问题,这些应用程序是定期将手机的 Activity 同步到本地数据库,然后再发送到外部服务器。打开和关闭(尤其是关闭)与 Java 或 Android 中用于通信的任何其他流或端点一样重要,例如 FileInputStream 或 Socket

3.)在此链接上,close() 的定义是关闭游标,重新使用其所有资源并使其完全无效。当它变得无效时会发生什么?它可以重复使用吗?

正如我在上面所说的,close() 方法的工作方式与 Java 中其他类的大多数其他 close() 方法一样。一旦调用它,就不应再次使用 Cursor。这就像 Socket 类的 close() 方法一样。一旦 Socket 被关闭,它就不能用于进一步的网络使用(即不能重新连接或重新连接)。需要创建一个新的套接字。

关于android - 最佳光标使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867175/

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