如何通过名称(字符串)而不是整数来获取资源

Ale*_*ian 10 resources android

例如:

public final class R {

    public static final class raw {
        public static final int yuri=0x7f040000;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何通过名称获取资源?不使用R.raw.yuri =(int)

dra*_*ard 19

getResources().getIdentifier( "yuri" , "raw" , getPackageName() );
Run Code Online (Sandbox Code Playgroud)

我发现这非常慢.在做了一些分析之后我把它从我的整个项目中删除了,int[]而是使用了它.

  • 那是因为这使用了反射.性能真的应该只在一个循环或其他东西,然后你可以缓存查找. (3认同)