只是想知道什么是最优的,因为NDK docs没有提出任何建议。我很确定虽然bufSize
的类型为size_t
,但指定SIZE_MAX
可能不是明智的选择!
答案 0 :(得分:3)
如果您的文件小(这是主观的,但对于我来说小于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的chunck但是再次,这是主观的,没有硬限制(直到内存分配失败)