iOS6下AVAudioPlayer内存泄露-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

iOS6下AVAudioPlayer内存泄露

2016-07-19 15:45:44 2178 1

我的视图控制器里放了一个按钮。main bundle里放了一个1.mp3,按钮每按一次就停止上次的音乐播放,开始下次音乐播放;

此代码在iOS4/5工作正常,iOS6中有严重的内存泄露。如果1.mp3有5M大,iOS6下每次播放就会有5M的内存不能释放。

我在iOS6下的使用方法错了吗?求指导

代码如下(开启ARC):

@implementation ViewController
{
    AVAudioPlayer *_player;
}

- (void)play
{
    if (_player)
    {
        [_player stop];
        _player = nil;
    }
    
    NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"test.app/1.mp3"];
    NSData *musicData = [[NSData alloc] initWithContentsOfFile:path];
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:musicData error:nil];
    player.volume = 1;
    if (player)
    {
        _player = player;
    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(100, 100, 100, 100);
    [button setTitle:@"play" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(play) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

@end
取消 提交回答
全部回答(1)
相关问答

1

回答

iOS sdk 7.1 webview请求超时? 400 报错

2020-06-01 14:04:42 349浏览量 回答数 1

1

回答

新浪微博ios SDK获得access_token后如何下次自动登录?

2016-06-30 14:16:38 2634浏览量 回答数 1

1

回答

iOS sdk 7.1 webview请求超时

2016-06-29 09:57:13 1882浏览量 回答数 1

1

回答

求推荐IOS系统内crash追踪的SDK!!

2016-06-23 18:32:13 1624浏览量 回答数 1

1

回答

ios 有没有做GIS的开源SDK或软件?

2016-06-24 11:13:12 2222浏览量 回答数 1

1

回答

IOS系统经常崩溃啊,求崩溃收集的SDK!!!!!

2016-06-24 13:57:34 2053浏览量 回答数 1

3

回答

ios sdk的一个报错,小白请教

2016-04-30 18:37:06 9971浏览量 回答数 3

0

回答

iOS sdk导入framework编译报错了

2016-05-01 16:44:51 5809浏览量 回答数 0

0

回答

OSS iOS sdk 导入Xcode工程报的一个错

2016-05-01 16:55:08 2404浏览量 回答数 0

0

回答

Java-SDK之如何实现上传文件(六)?

2017-10-18 10:49:11 1662浏览量 回答数 0
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载