Zha*_*hen 5 iphone objective-c uitextview ios
该问题看似很简单,但很难找到解决办法。每次我在iPhone上使用UITextView时,Xcode中显示的内存使用情况都会显示异常大的利用率。例如,当我上下滚动时,包含一个简短段落(大约1KB)的UITextView会消耗大约17-18mB的内存。更不用说像100KB文件这样的大文本量,它需要半分钟才能加载到视图中。
这是我在viewDidLoad()中实现它的方式,我不认为它与代码有任何关系,因为当我从情节提要中创建一个带有默认示例文本的新UITextView时,这是完全相同的问题。
我有一个NSString读取文件内容并使UITextView显示NSString作为其文本。
@interface FileContentViewController ()
@property (weak, nonatomic) IBOutlet UILabel *fileNameTextLabel;
@property (weak, nonatomic) IBOutlet UITextView *fileContentView;
@end
@implementation FileContentViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)displayFileContentInTxtView
{
if (!self.fileData) {
self.fileContentView.text=@"file is empty";
return;
}
unsigned char *fileContentBuffer=(unsigned char *)[self.fileData bytes];
NSString *fileContentString=@"";
for(int i=0;i<[self.fileData length];i++)
{
fileContentString=[fileContentString stringByAppendingString:[NSString stringWithFormat:@"%02x",*(fileContentBuffer+i)]];
}
self.fileContentView.text=fileContentString;
self.fileData=nil;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.fileNameTextLabel.text=self.titleLabelText;
[self displayFileContentInTxtView];
}
Run Code Online (Sandbox Code Playgroud)
尝试只让 UITextView 显示文本而不是读取文件内容,您可以使用不多的代码来完成此操作:
YourTextViewName.text = @"[put the text to display here]";
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试摆弄 appdelegate.m 文件的 voidDidReceiveMemoryWarning 部分
或者
您可以尝试仅显示要从中提取内容的文件,并删除提取内容的代码。
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |