android开发分享什么时候closuresAndroid上的数据库连接? 每次操作完成后或您的应用程序退出后

我有一个Android应用程序,经常访问本地sqlite3数据库,性能的考虑,所以我总是保持连接打开。 但是我的一个朋友推荐我每一个操作打开/closures连接。

1)你们对这两种方法有什么看法? 利弊/利弊。 2)我做了一些testing,发现数据库连接没有太多的性能开销。 数据库连接的性能开销是否随着数据库的大小而变化?

    我不知道在频繁closures/打开数据库(不pipe其大小)中是否存在任何性能损失。 我认为这个问题的答案也取决于访问数据库的应用程序types。

    你是否“重新查询”数据库?
    然后,似乎整顿,保持开放。

    你每次抓取什么东西时都会抓取不同的数据?
    同样,把它打开也是合理的(因为你不会获得caching数据)。

    有没有其他的应用程序访问同一个数据库?
    如果存在并发或阻塞问题的风险,那么在读取/写入数据库之后closures数据库可能是明智的。

    通常我会说,在优化性能时,您可能会获得更多的caching数据,而不是打开数据库(反之,closures它)。

    如果您正在使用内存数据库,则在closures连接时,数据将被丢弃。

    也许是一个边缘的情况下,但它只是把我抓出来。

    另外,如果从多个线程访问db,频繁地打开和closures连接可能会导致您经历臭名昭着的SQLiteexception。

    如果你从一个连接访问多个线程的数据库,并且由于这些操作不是primefaces的,那么你可以尝试更新之前由另一个线程closures的数据库。

    该文件说,只要你需要它,连接就可以打开。 并且可以在onDestroy()方法中closures。 文档链接

    坚持数据库连接:

    由于getWritableDatabase()和getReadableDatabase()在closures数据库时调用代价很高,因此只要可能需要访问数据库连接,就应该打开数据库连接。 通常,closures调用Activity的onDestroy()中的数据库是最佳select。

    以上就是android开发分享什么时候closuresAndroid上的数据库连接? 每次操作完成后或您的应用程序退出后相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

    @Override protected void onDestroy() { mDbHelper.close(); super.onDestroy(); } 

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/513769.html

      (0)
      上一篇 2020年11月29日
      下一篇 2020年11月29日

      精彩推荐