Android sqlite / BLOB 性能问题

2023-12-01

自从我将数据从 ArrayList 移动到 Android 上的 sqlite 数据库后,我的性能出现了严重下降。没有打开的游标可能会导致这种情况,因此我怀疑问题出在我存储在 BLOB 字段中的图像。

该应用程序创建Cards有一个字段卡位图创建时会填充位图。

谁能根据他们的经验告诉我哪种解决方案性能更高:

  1. 卡位图保存对 SD 卡上文件的引用(路径),该文件将在创建时绘制。只有路径存储在数据库中。
  2. 卡位图持有一个物体(BitmapFactory.decodeStream(imageStream,null,null)), 在哪里图像流被读作字节数组输入流从相应的数据库字段。

任何的意见都将会有帮助。谢谢!


我还没有评论答案的声誉,所以我将添加我的 2cts 作为答案,请原谅我。

我一直在寻找类似问题的答案,但我认为当前的答案并不令人满意,因为如果您询问 SQLite.org,他们会告诉您这取决于 blob 大小和页面大小。

他们做了一个基准测试(尽管不是在 Android 上),结果表明,对于小 Blob(最多 20kB),在 SQLite 中存储 Blob 比存储在单独的文件中更快。 但是,对于大于 100kB 的 blob,性能下降很大,最好按照您 ( user370605 ) 的建议将 blob 存储在单独的文件中。 看http://www.sqlite.org/intern-v-extern-blob.html

我会考虑有关 Android 的未回答的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android sqlite / BLOB 性能问题 的相关文章

  • Android蓝牙权限问题

    首先 抱歉我的英语不好 我是西班牙人 并且是 Android 开发的新手 我正在开发一个简单的蓝牙文件发送器 我基于BluetoothChat android示例一步一步 现在我向用户发出蓝牙激活请求 并选择是或否选项应用程序崩溃 我拥有清
  • OpenMP 共享与第一私有性能比较

    我有一个 pragma omp parallel for在类方法内循环 每个线程只读访问很少的方法局部变量 很少调用私有数据和方法的参数 所有这些都在一个声明中声明shared条款 我的问题 性能方面不应该有任何区别声明这些 变量share
  • Android 版 Qt 和 BoringSSL

    我正在开发一个基于 Qt 的 Android 应用程序 它使用 QSslSocket 下载数据 由于 Android 从 OpenSSL 转向 BoringSSL 因为依赖 OpenSSL 库的 Marshmallow Qt 程序在 And
  • 如何在Android Studio中授予对registry.bin的访问权限?

    每当我打开 Android Studio 3 0 1 时 Gradle 构建都会失败 错误如下所示 它以前工作正常 我不记得对其设置进行过任何更改 不过 现在已经不会再继续下去了 请帮忙 我被困住了 关闭 Android Studio 并尝
  • DrawBitmapMesh 如何在 Android Canvas 中工作

    我想在矩形上绘制位图 我使用以下值 this meshWidth 1 this meshHeight 1 this verts new float 8 this points 0 x float this getWidth 4 this p
  • 如何使用 Eclipse 从我的设备检索我的应用程序的沙箱?

    我有一个 Android 应用程序 它使用共享首选项 我使用 Eclipse 在 Android 设备中运行该应用程序 我想拉整个sandbox来自设备到桌面这样我就可以手动查看sharedPreferences的内容 我点击了DDMS并点
  • 在 Facebook 上分享时如何更改 Play 商店应用程序的预览?

    我已在 Google Play 开发者控制台中更改了游戏的图标和屏幕截图 并且它在 Play 商店中正确显示 但当我尝试在 Facebook 上分享 Play 商店链接时 预览会带有旧图标和屏幕截图 如何将此预览更新到应用程序的最新版本 你
  • 原包AndroidManifest属性有什么用?

    我使用 apktool 提取 Jelly Bean 上默认浏览器的清单 清单中出现了这一行
  • 活动丢失后终止异步任务

    这是我的过程和问题 在此应用程序中 您单击菜单按钮 在此菜单中 您按下切换按钮 该按钮将启动异步任务 每 30 秒发出一次提示音 该任务是在选中切换时持续运行 并在取消选中时取消 只要您留在菜单窗口中 就可以启动和停止该过程 检查切换框 如
  • Android 浏览器缩放?

    我正在尝试为 Android 创建一个移动网站 当我将主体宽度设置为 480px 屏幕宽度 时 结果比我预期的大 50 左右 看来 android 正在缩放它所绘制的内容并弄乱了我所有的布局 有谁知道如何禁用它或解决它 我已经在使用这个 您
  • 无法使用 Firebase 广告:没有静态方法 zzc(Landroid/os/Bundle;

    我正在尝试将 Firebase 广告库添加到我的项目 该项目已经上线 中 构建工作正常 但当我尝试运行时 它崩溃并出现以下错误 11 16 10 33 13 535 540 540 com dap E AndroidRuntime 致命异常
  • NestedScrollView 用完滚动内容后,停止折叠工具栏折叠

    在 Android 中 如果 NestedScrollView 没有滚动的内容 如何让 CollapsingToolbar 停止折叠 此功能目前存在于 Android 5 1 1 上的联系人应用程序中 但是 在我的代码中 当 NestedS
  • Flamingo 更新后无法在 Android Studio 中构建 Java 或 Kotlin 项目 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 火烈鸟更新后无法创建项目 它显示一些错误 未找到 com android tools build gradle 8 0 0 的匹配变体 消费
  • 如何在Android中编辑文本时限制文本的数字仅在0-59之间?

    我有一个Edit Text其中数字只能介于0 59 不会再输入其他数字Edit Text 我试过text watcher但没有获得成功 任何想法 12 26 14 59 39 715 E AndroidRuntime 19494 FATAL
  • Android:需要记录麦克风输入

    有没有办法在实时播放 预览过程中记录 Android 中的麦克风输入 我尝试使用AudioRecord and AudioTrack这样做 但问题是我的设备无法播放录制的音频文件 实际上 任何Android播放器应用程序都无法播放录制的音频
  • Android 自定义相机 - 在矩形内裁剪图像

    我有一个自定义相机应用程序 它有一个居中的矩形视图 如下所示 当我拍照时 我想忽略矩形之外的所有内容 该视图与我的 XML 视图中的 Camera Preview 或 SurfaceView 没有任何联系 如下所示
  • 使用 Swift 在 iOS 和 Android 之间共享核心代码

    我想要的是 使用 Swift 在 Android 和 iOS 之间共享非 UI 代码 问题 Android 具有 NDK 支持 允许您使用 Java 本机接口 JNI 运行 C 和 C 代码 不是 Objective C 我是一名Java程
  • “android.view.View 已弃用” - 还有什么可以使用或如何修复?

    我刚刚开始尝试 Android Studio 按照视频教程上的说明进行操作 这是我对这个人告诉我的看法 但我不断收到错误消息 View is deprecated 我该如何解决 或者我该用什么来代替 这是我的代码 public class
  • 如何创建带有两个日期选择器的自定义对话框?

    我刚刚开始学习 Android 作为一种爱好 我想创建一个带有两个日期选择器的对话框 final Dialog dialog new Dialog this dialog setContentView R layout data picke
  • 除了前一个按钮意图之外,如何添加另一个按钮意图?

    这是我的代码 它包含一个名为的按钮button1A当我单击它时 它会打开一个名为的列表list1 如何为另一个名为 button2A 的按钮添加代码 该按钮将打开一个列表 List2 import android os Bundle imp

随机推荐