waynezxcv / Gallop

A framework for build smooth asynchronous iOS APP.
MIT License
746 stars 161 forks source link

[LWTextLayout lw_layoutWithContainer:textContainer text:self.attributedText];,这个方法会导致内存溢出 #45

Closed MrZhaoying closed 7 years ago

MrZhaoying commented 7 years ago

[LWTextLayout lw_layoutWithContainer:textContainer text:self.attributedText];,当在10.0以下的系统上如果遇到 无法转换的字符时, 这个方法会导致内存溢出, 是由 在LWTextStorage 中 的 每一个 set方法内调用 [self _creatTextLayout]; 导致的, 在 所有的set方法中不调用这个方法则 不会crash, 但相应的在创建对象时 调一次创建[self _creatTextLayout]; 可以解决这个内存溢出 问题,但具体原因我没有搞明白,不知道哪位可以帮忙解释一下

waynezxcv commented 7 years ago

“无法转换的字符”是指?

MrZhaoying commented 7 years ago

[\U76b1\U7709][\U76b1\U7709][\U76b1\U7709] 就类似这样的

waynezxcv commented 7 years ago

这个不是内存溢出. 感觉像是CoreText的bug..测试了一下,crash只在Xcode在Debug Build Configuration的情况下出现,Release并不会出现,原因未知.. 你可以测试一下..所以,对正式发布的应用不会造成影响..