小编Mur*_*azi的帖子

更快地加载 UIImagePickerController?

我需要UIImagePickerController更快地加载。我的应用程序UIImagePickerController可能会从多个控制器调用,并且在每个控制器中有两个按钮,一个用于照片库,另一个用于相机。这是我的示例应用程序。Apple 在“并发编程指南”中推荐了我尝试过的一些解决方案。
最简单的方法是在用户按下按钮时分配和初始化一个实例。这最多可能需要 2 秒才能显示相机。
解决方案尝试:-
(1) 我创建了一个@property (...) *imagePicker 并调用了它的 alloc & initviewDidAppear以使其看起来很流畅,但它干扰了其他元素的加载,可能是因为它使用了相同的线程。在initWithNibName或 中使用时结果更糟viewDidLoad
(2) Operation queues... 不令人满意的结果。
(3) Dispatch Queues... 更好的结果,但仍然明显不稳定的性能。
(4)performSelectorInBackground:withObject:结果不大。我不认为我想走向全球,除非另有建议。我制作两个 @properties 没有问题UIImagePickerController。我将继续可能的'线程编程指南'。
如果可以,请在您的解决方案中包含任何必要的内存管理实践。谢谢你。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
// (1) TRYING OPERATION QUEUES
    // (a) --- NSBlockOperation
    NSBlockOperation *NSBO_IP = [NSBlockOperation blockOperationWithBlock:^{
        NSLog(@"before");
        imagePicker = [[UIImagePickerController alloc] init];
        // 1.9, 1.6, 1.4 seconds pass between 'before' …
Run Code Online (Sandbox Code Playgroud)

multithreading memory-management uiimagepickercontroller grand-central-dispatch ios

1
推荐指数
1
解决办法
2657
查看次数