我有一个简单的代码块,我在其中读取电影的大小以获得宽度。
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;
}
我的问题是,在读取此代码后,我在Activity Monitor中留下了一个“QTKitServer-(PID)”进程,在我退出应用程序之前,该进程不会消失。我以为“电影”会自动释放......我在这里做错了什么?
答案 0 :(得分:1)
不要担心。此过程是QuickTime X的实现细节,因此清理它不是您的责任。你的代码是正确的。
QuickTime假设您需要再次使用此过程的服务并保留它。保持这个过程无所事事而不是为每个请求开始一个新过程可能要便宜得多。