我发现当您添加超过1MB的文本时,UITextView会变得迟钝。在复杂的自定义工作之外,例如重新创建UITextView,是否有可能以某种方式为对象分配更多内存或其他技巧?
答案 0 :(得分:5)
为UITextView分配更多内存对您没有帮助。它已经占据了它想要的所有内存。如果有一个没有权衡的简单技巧,那么UITextView几乎肯定会自动执行此操作。因此,这取决于您想要的权衡以及您正在使用的功能。例如,您可以通过删除数据检测器等功能来获得一些改进。或者仅使用未格式化的字符串(而不是使用复杂格式的属性字符串)。不允许编辑可以改善一些事情。当然,如果你需要这些功能,那么这没有帮助(但你没有解释你在做什么)。如果你正在实现委托方法,那么问题当然可能在你的方法而不是UITextView中。我有点怀疑这些调整会发生很大变化,但关闭功能是最好的起点。
对于UITextView来说,1MB看起来好像很多文本。这不是它的常见用例,并且会打开一些困难的布局问题,特别是如果有任何格式化的话。它也代表了一种难以用户导航的体验(你的滚动条在500页文档上真的有效吗?)我几乎肯定会看一个自定义解决方案(可能是在TextKit上构建)来处理这个相当自定义的问题。 / p>