在我的Android程序中,我有很多数组和列表,每个数组都有几百个字符串。我有时会从其中一个结构中获取一个字符串,并使用它以编程方式将文本绘制到屏幕上(例如下面的例子)。
String displayText = titleList[i];
renderText(displayText);
在我当前的设备上,所有内容都按预期呈现。我想支持它回到果冻豆(api 16-18),但是在我的果冻豆设备上,字符串有时不会渲染到屏幕上,或者只渲染前半部分或者渲染一些字符串而不是其余部分。名单。记录传递给渲染器的这些字符串的值将按预期打印。奇怪的是,如果我从引用的字符串构建一个新字符串(下面的示例),它就可以工作!
String displayText = new String(titleList[i]);
renderText(displayText);
我可以做到这一点,但似乎每次我引用已经存在的字符串时,它会浪费并且可能影响性能以构建新字符串,特别是因为它适用于较新的设备。 Android Studio告诉我,我很愚蠢(“新字符串是多余的”)。我也很好奇这是如何做到的,并希望有更好的方法来解决它。