我的代码的这一部分有多个内存泄漏。特别是对于这些数组:PlaylistItem,PlaylistItemID和PlaylistItemLength。问题是我无法成功释放数组。当我尝试使用insert [xxxx release];此代码中的任何地方,应用程序都会锁定。这绝对是驱使我nurtz!NSMutableArray内存泄漏问题
-(void)configureCueSet {
MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
NSArray *playlists = [myPlaylistsQuery collections];
//Get # of items in a playlist and names -------------------------------------
NSArray *songs;
for (MPMediaPlaylist *playlist in playlists) {
NSString *playListItem = [playlist valueForProperty: MPMediaPlaylistPropertyName];
if ([playListItem isEqualToString: savedLastSelectedPlaylist]){
songs = [playlist items];
}
}
PlaylistItem = [[NSMutableArray alloc] init];
PlaylistItemID = [[NSMutableArray alloc] init];
PlaylistItemLength = [[NSMutableArray alloc] init];
for (MPMediaItem *song in songs) {
[PlaylistItem addObject:[song valueForProperty: MPMediaItemPropertyTitle]];
[PlaylistItemID addObject:[song valueForProperty: MPMediaItemPropertyPersistentID]];
[PlaylistItemLength addObject:[song valueForProperty: MPMediaItemPropertyPlaybackDuration]];
}
}
感谢您的回复。添加[PlayListItem发布];产生“SIGABRT”。我很困惑。 – Marsman 2011-02-04 21:45:21
你在哪里添加它?只有在确定不再需要它们的情况下,才应该释放阵列。就你的代码片段而言,你正在填充数组而不实际使用它们。在某处放置它们将毫无意义。 – 2011-02-04 21:46:54