Flutter中表情包导致的UI渲染问题
在后台发现一个UI渲染卡顿问题,之前忙其他的没太关注。
最近有时间解析了日志,发现了下方有用的日志信息:
1 | ======== Exception caught by rendering library ===================================================== |
codeRevier对应类的代码后发现了类似下方的代码:
1 | final text = contentController?.text; |
其主要作用是当文字超出某个长度后,截取固定长度的字符串。但我们都知道表情的length是2,截取的时候就会概率出现上方的问题。
所以在截取字符串的时候,我们需要用到characters
属性来确保截取的字符串是有效的 UTF-16 编码。
具体代码如下:
1 | String truncateText(String? text, int maxLength) { |