Я сталкиваюсь с тем, что кажется чрезмерным использованием памяти в UITextView. Я загружаю текстовый файл ascii размером 50 КБ в строку NSString и назначаю его свойству .text пустого компонента UITextView в моем приложении. Это сразу добавляет больше 100 МБ к моей памяти (в 2000 раз больше фактического содержимого).
Есть ли способ (свойство или преобразование) сделать UITextView более эффективным с точки зрения памяти? Мне нужна возможность редактирования и прокрутка содержимого, но это обычный текст (не приписывается), и я не использую какие-либо сложные макеты или функции форматированного текста.
Для контекста: я работаю в среде с ограниченным объемом памяти (расширение аудиоустройства), поэтому каждый Мб памяти имеет значение.
Это, похоже, не связано с хорошо документированной утечкой памяти iOS11 UITextView, так как я не выпускаю компонент.
NSError* error = nil;
NSString* path = [[NSBundle mainBundle] pathForResource:@"Example" ofType:@"txt"];
NSString* content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
myUITextView.text = content; // this adds over 110Mb of memory usage for a 50Kb text file.