只是想知道这里什么是最优的,因为NDK文档中没有给出建议。我相当肯定,虽然bufSize
是size_t
类型,但指定SIZE_MAX
可能不是明智的选择!
如果你的文件小(这是主观的,但对我来说小是在512kb以下)你可以做的是:
AAsset* file = AAssetManager_open(assetManager, "your/file.ext", AASSET_MODE_BUFFER);
size_t fileLength = AAsset_getLength(file);
char* fileContent = new char[fileLength];
AAsset_read(file, fileContent, fileLength);
它实际上可以为更大的文件工作,直到内存分配失败。
如果你计划加载巨大的文件,然后我将读取块512kb,但再次,这是主观的,没有硬限制(直到内存分配失败)