当前位置: 首页 > news >正文

《QDebug 2024年8月》

一、Qt Widgets 问题交流

1.

二、Qt Quick 问题交流

1.结构体传到QML中未自动释放

测试版本:Qt5.15.2

测试方法:QString/QByteArray等设置100M数据,传到QML中后观察内存增长情况

测试代码:https://github.com/gongjianbo/MyTestCode/tree/master/Qml/TestQml_20240823_Struct

Qt中部分预置类型,如QString/QJsonObject,传到QML中使用后,会在适当的时机自动释放。有两个特列:QImage和Pixmap,这两个类型被定义为稀缺资源(Scarce resource)类型,QML不持有其引用,JS函数中用完就释放了,也不能在QML中用变量保存,甚至。QVector 等容器类型被定义为序列类型,是否自动释放看你内部存储的类型是否能自动释放(测试时发现Qt5.15.2不能用把QVector<QImage>/QList<QImage>放QVariant传递,可以直接传QVector<QImage>,Qt6.7.2用QVector<QImage>传递后内存会增长一个QImage的大小,需要手动gc())。

比较奇怪的是QByteArray,他和QString不一样,直到内存爆了也没有自动释放,需要手动调用gc(),这和我们自定义的类型传到QML中的现象是一样的。而且Qt似乎没有提供相关的设置接口,比如将自定义类型设置为稀缺资源,只能操作完之后手动调用一下gc()。

三、其他

1.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度学习(二)-损失函数+梯度下降
  • 【数据结构】-----哈希
  • 【科研新手必备】如何高效、高质量、科学的科研?
  • 仿论坛项目--第二部分习题
  • JAVA进阶学习14
  • RuoYi-Cloud 部署与配置 [CentOS7]
  • 《深入浅出WPF》读书笔记.8路由事件
  • 使用pgrs在wsl中为postgres写拓展
  • huggingface.co 无法访问问题换源解决
  • c++修炼之路之C++11
  • Mac/Linux系统matplotlib中文支持问题
  • Java中类的成员介绍
  • 设计模式-结构性模式
  • Elasticsearch 里的父子文档插入和查询
  • upload-labs通关攻略
  • Android Volley源码解析
  • HomeBrew常规使用教程
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PAT A1050
  • Ruby 2.x 源代码分析:扩展 概述
  • scrapy学习之路4(itemloder的使用)
  • Vue全家桶实现一个Web App
  • 简析gRPC client 连接管理
  • 今年的LC3大会没了?
  • 前嗅ForeSpider教程:创建模板
  • 十年未变!安全,谁之责?(下)
  • 手机端车牌号码键盘的vue组件
  • 网络应用优化——时延与带宽
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 译自由幺半群
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 国内开源镜像站点
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • #Java第九次作业--输入输出流和文件操作
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • $forceUpdate()函数
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (javascript)再说document.body.scrollTop的使用问题
  • (k8s)Kubernetes本地存储接入
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十)T检验-第一部分
  • (四) Graphivz 颜色选择
  • (四)进入MySQL 【事务】
  • (四)事件系统
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • .net dataexcel 脚本公式 函数源码
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Reactor简单使用教程
  • .net Signalr 使用笔记
  • .Net 代码性能 - (1)