【问题标题】:Data size of a MPMediaItem (Objective-C)MPMediaItem 的数据大小(Objective-C)
【发布时间】:2014-03-01 02:36:28
【问题描述】:

我正在编写一个音乐播放器,我声明了一个 NSMutableArray 来跟踪播放的歌曲。

我想知道 MPMediaItem 的数据大小(平均大小)是多少。

我想创建一个数组,其中包含播放的每个 MPMediaItem 的信息,但我想知道是存储每个 MPMediaItem 还是只存储有关歌曲(标题、艺术家和专辑标题)的信息(字符串)更好。

谢谢!

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    这两件事(信息与 MPMediaItem)实际上是一回事!它们都只是字符串的集合。 MPMediaItem 是指向磁盘上项目的指针,它本身被视为只是一个轻量级的信息集合(就像 NSStrings 的 NSDictionary,这基本上是 无论如何都会做的)。

    唯一重要的是收集信息的行为。例如,执行初始 MPMediaQuery 可能需要一些时间。但是,一旦您得到答案,无论是收藏品还是媒体项目或其他任何东西,您都可以将它们存储起来。另一方面,如果您事先知道自己想要什么信息,那么预先收集它并没有什么坏处——尽管这也需要一些时间。例如,我这样做:

    MPMediaQuery *query = [MPMediaQuery albumsQuery];
    NSArray* albums = [query collections];
    NSArray* titles = [albums valueForKey: @"repItemTitle"];
    

    repItemTitle 在 MPMediaItemCollection 上的类别中定义:

    - (id) repItemTitle {
        return [[self representativeItem] 
            valueForProperty: MPMediaItemPropertyAlbumTitle];
    }
    

    不过,总的来说,我会说:不要过早优化!让应用程序正常工作。如果您稍后发现存在某种性能/内存问题,那么如果您的结构正确,那么在幕后更改模型实现将是微不足道的。 (但我认为你不必这样做。)

    【讨论】:

    • 谢谢!!真的很有趣!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多