我需要在C/C++代码中使用我的资产文件夹中的资产。像这样缓存AAssetManager指针是否安全:
AAssetManager* assetMgr = NULL;
void Java_com_example_createAssetManager(JNIEnv* env, jclass clazz, jobject assetManager)
{
AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
assert(NULL != mgr);
assetMgr = mgr;
}
我希望你能帮我翻译一下,在it技术方面,如何在需要时使用createAssetManager? createAssetManager在主Activity的Java onCreate方法中被调用(UI线程),但在C / C ++中的使用是在本地处理渲染和游戏时钟时从GLSurfaceView实现的本地方法中调用的。
1)在整个应用程序的生命周期内,assetMgr指针会指向有效对象吗? 在Java端(在Activity类中)也像静态变量一样创建它是否足够,以便垃圾收集器不会将其销毁?
2)我会遇到一些线程问题吗?
谢谢,汤姆·亚当
AAssetManager_fromJava()
非常快。 - Seva Alekseyev