1

我想使用 Qt 外部资源文件作为我的 Android 应用程序的扩展文件。资源文件中要捆绑的资源总大小为 700+ MB。我经历过资源编译器 (rcc) 在我的计算机挂起和崩溃之前无法处理超过 500MB 的大小。我真的很想制作大文件,因为这使得在为 Android 上传扩展文件时更容易。

我使用以下参数从命令行运行 rcc 工具:

rcc -binary -no-compression myQrcFile.qrc -o myOutputFile

我需要不使用压缩才能直接播放捆绑在资源文件中的视频文件,但这不是问题。

我有两个问题,但第一个是主要问题:

  1. 有没有办法将总文件大小超过 500MB 的文件捆绑在一个文件中?
  2. 外部Qt 资源文件的大小对应用程序的性能有影响吗?较大的文件 = 加载缓慢或类似?
4

2 回答 2

0

我使用的是 32 位编译器 MinGW。我更改为 MSVC 64 位编译器,我可以创建大型外部资源文件。

于 2015-09-20T21:08:10.210 回答
0

为了创建较小的资源数据,您可以尝试更改压缩(s,-compress

为了更快的加载,在 Qt 中嵌入资源似乎有两种可能性。

除非您明确指定将资源数据创建为外部库,否则资源数据将嵌入在可执行文件中,并将在应用程序启动时加载(对应用程序图标、字体等有意义)

如果使用 -binary 选项编译数据

rcc -binary myresource.qrc -o myresource.rcc

您会将数据构建到一个动态库中,您可以在应用程序启动之后加载该动态库

QResource::registerResource("/path/to/myresource.rcc");

这是关于 SO 的类似问题,但它侧重于资源的动态加载,而不是大小:如何将 Qt 资源嵌入到 .dll 文件中?

这些链接应该会有所帮助:

于 2015-08-17T06:08:51.070 回答