gpt4 book ai didi

objective-c - 如何提高 MPVolumeView 性能?

转载 作者:可可西里 更新时间:2023-11-01 06:16:36 25 4
gpt4 key购买 nike

我正在从事与视频流相关的 iOS 项目。 UI 中的控件之一是 MPVolumeView。问题是,当我滑动控制音量变化时,它似乎占用了很多 CPU。事实上,当我使用 slider 时,用户界面变慢了。如何提高性能?,也许我做错了什么?

Reference image for CPU Load from Instruments. In the left only streaming, the peaks in the right were streaming+volume slide.

Instruments 的 CPU 负载引用图像。左边只有流,右边的峰值是流+音量滑动。

谢谢。

编辑:

这就是我将控件添加到 View 的方式:

MPVolumeView *mpVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(32,
56,
160,
9)];
[self addSubview:mpVolume];
[mpVolume release];

“self”是一个自定义 View ,继承自 UIView,但我没有使用 xib 和 drawRect。我只是在“initWithFrame:frame”方法中添加所有控件。

最佳答案

观察 init with frame 被调用了多少次。有时我看到它不止一次被调用,有时经常,这取决于情况。您可能只想在首次设置 View 时分配卷 View 。听起来它可能正在一次又一次地设置音量 View 。

一个可能性是使卷 View 成为类属性(私有(private)或公共(public))

 @property (nonatomic, retain) MPVolumeView *mpVolume;

当然... @synthesize mpVolume = _mpVolume

然后在initWithFrame中检查是否为nil,然后alloc

 if(_mpVolume == nil){
_mpVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(32,56,160,9)];
[self addSubview:_mpVolume];
}

然后在dealloc中释放mpVolume

关于objective-c - 如何提高 MPVolumeView 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11779499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com