使用反射创建对象而不是调用类构造函数会导致任何显着的性能差异吗?
我想取一个byte并将其附加到资源ID,以便能够获得与游戏中该编号牌组相对应的图像.使用其他设备上的路径很容易,但是使用资源ID我不确定如何才能执行此操作.
这就是我现在拥有的:
switch(GameSettings.gameDeck)
{
case 1:
deckImage.setBackgroundResource(R.drawable.deck1);
break;
case 2:
deckImage.setBackgroundResource(R.drawable.deck2);
break;
case 3:
deckImage.setBackgroundResource(R.drawable.deck3);
break;
case 4:
deckImage.setBackgroundResource(R.drawable.deck4);
break;
}
Run Code Online (Sandbox Code Playgroud)
在我的Blackberry版本中,我只是:
deckImage.setBitmap(Bitmap.getBitmapResource("/path/deck" + GameSettings.gameDeck + ".png"));
Run Code Online (Sandbox Code Playgroud)
有没有办法在Android上使用资源ID完成类似的事情?
我多次读到反射会降低手机的性能.这是真的吗?
例如,在我的情况下,我从Web服务获取一些参数,这些参数与我在Android应用程序中的类的参数具有相同的名称.所以我只是使用java字段和反射设置这些参数的值...它似乎没有减慢性能..
任何人都可以向我解释这个关于反思减慢性能的想法背后的事实吗?