我发现当您添加超过 1MB 的文本时,UITextView 会变得迟缓。除了复杂的自定义工作(例如重新创建 UITextView)之外,是否有可能以某种方式为对象分配更多内存或其他一些技巧?
最佳答案
为 UITextView 分配更多内存对您没有帮助。它已经占用了它想要的所有内存。如果有一个无需权衡的简单技巧,那么 UITextView 几乎肯定会自动执行此操作。因此,这取决于您想要进行哪些权衡以及您使用的功能。例如,您可以通过删除数据检测器等功能来获得一些改进。或者只使用未格式化的字符串(而不是具有复杂格式的属性字符串)。不允许编辑可能会改善情况。当然,如果您需要这些功能,那将无济于事(但您还没有解释自己在做什么)。如果您正在实现委托(delegate)方法,那么问题当然可能出在您的方法中,而不是 UITextView。我有点怀疑这些调整是否会发生很大变化,但关闭功能是最好的起点。
对于 UITextView 来说,1MB 确实看起来像很多文本。这并不是真正的常见用例,并会引发一些困难的布局问题,尤其是在进行任何格式设置的情况下。它还代表了一种困难的用户导航体验(你的滚动条真的能在 500 页的文档上有效工作吗?)我几乎肯定会寻找一个自定义解决方案(可能构建在 TextKit 上)来解决这个相当自定义的问题。
关于ios - 是否可以为 Swift 或 Objective-C 中的对象提供更多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475063/