我有一个简单的代码块,可以读取电影的大小来获取宽度。

BOOL isHD;
if ([[NSFileManager defaultManager] fileExistsAtPath: filePath]) {
    QTMovie *movie = [QTMovie movieWithFile: filePath error: nil];
    NSValue *movieSize = [movie attributeForKey:QTMovieNaturalSizeAttribute];
    int width = [movieSize sizeValue].width;
    if (width > 1200)
        isHD = YES;
}


我的问题是,读取此代码后,我在活动监视器中留下了一个“ QTKitServer-(PID)”进程,直到我退出应用程序后该进程才消失。我以为“电影”会自动发布...我在这里做错了什么?

最佳答案

不用担心此过程是QuickTime X的实现细节,因此清理它不是您的责任。您的代码是正确的。

QuickTime假定您将再次需要此过程的服务并保持不变。保持此过程不执行任何操作,而不是为每个请求启动一个新请求,可能会便宜得多。

关于objective-c - QTKitServer保留在事件监视器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10663421/

10-10 11:36