我想在游戏中显示毫秒计时器值。
String.format
在 Android 上非常慢,所以我不能使用它。我目前使用
这个:
long elapsedMillis = ...; //elapsed milliseconds
int whole = (int)(elapsedMillis / 1000);
int fraction = (int)(elapsedMillis % 1000);
StringBuilder sb = new StringBuilder("TIME:");
sb.append(whole);
sb.append('.');
if(fraction < 10)
sb.append("00");
else if(fraction < 100)
sb.append("0");
sb.append(fraction);
g.drawText(sb.toString(), ...);
但我认为它可以更快地完成。你能指导我正确的方向吗?谢谢
最佳答案
一些想法:
- 使用大容量初始化的静态StringBuilder
- 使用原生函数
- 预先绘制“时间:”(我假设它不会移动)
- 保持以毫秒为单位的时间值
关于android - 如何在Android游戏循环中快速格式化 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4458635/