将整数转换为字符串而不分配内存

Com*_*ish 7 java android memory-management

当垃圾收集器运行时,我的Android游戏中偶尔会出现滞后现象.我运行DDMS并发现我的应用程序分配的所有内存都来自这一行:

scoreString = String.valueOf(score);
Run Code Online (Sandbox Code Playgroud)

在不分配任何内存的情况下将整数转换为字符串的最佳方法是什么?

Dou*_*rop 12

分配要显示为分数的字符数组,并使用0-9的查找表(无论如何这方便地映射到0基数组),以根据分数的每个数字附加到此数组.

编辑:从分数中提取数字:

12345 mod 10 = 5
12345 mod 100 = 45 / 10 = 4.5 (floors to 4)
12345 mod 1000 = 345 / 100 = 3.45 (floors to 3)
12345 mod 10000 = 2345 / 1000 = 2.345 (floors to 2)
12345 mod 100000 = 12345 / 10000 = 1.2345 (floors to 1)

此外,您将知道得分字符数组的最大长度应该基于您用于存储分数的任何内容(即int)

我建议反向填充此数组并将其初始化为全"0",以便您的分数显示为

0000000000
0000005127