C++ Android 资源管理器从应用内部目录中读取文件
C++ android assetmanager reads files from app internal directory
我在C++代码中使用AssetManager来加载我的资产。但是,如果应用程序内部目录中存在同名文件,则资源管理器首先检查它并加载它。
是否可以将资源管理器设置为避免内部应用程序目录中的文件并仅检查资产文件?
UPD:我错了。资产管理工作正常。
Java 和 NDK 的行为相同。两者都在引擎盖下使用资产管理器类。对于早期版本的 AssetManager.cpp,AssetManager::open(( 的工作方式相同。
从理论上讲,调整 AssetManager 行为是可能的(毕竟,AssetManager.addAssetPaths(( 是公开的,可以通过反射获取(,但没有记录的方法可以做到这一点,这意味着您无法知道您的黑客是否适用于下一个版本的 Android,或者适用于某些供应商的自定义版本系统。
我建议不要做这样的把戏。检查内部目录中是否存在相同的文件,并在必要时删除或重命名它,要安全得多。但无论如何,资源管理器通常不会从应用程序的内部文件目录中读取。
相关文章:
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 读取文件的最后一行并输入到链接列表时出错
- 为什么在读取文件大小时文件IO速度会发生变化
- 读取文件时运行时的未知行为
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C++ 读取文件读取文件不正确
- 读取文件并将其存储在unordered_map中时出现问题
- 读取文件时无法使用 OpenMP 获得加速
- 使用istringstearm和get行缓慢读取文件
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 读取文件时引发异常
- 从标准输入读取文件后读取用户输入
- 在读取文件后重置句柄
- 如何在C++编译时读取文件?
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 读取文件在第二次调用时返回INVALID_HANDLE
- 通过指针读取文件
- 逐行读取文件,并将数据插入变量和数组中