如何衡量下载任务速度:
我认为的方法是:
计算最后3s平均速度,并在3s后重置收到的字节,并启动一个每0.8秒调用一次的NSTimer。
但是这会导致一个问题:在3秒后立即调用NSTimer,收到的字节已经重置为0,但我想要一个平滑的速度。
答案 0 :(得分:0)
首先,使用NSURLSessionDelegate。如果您正在使用completionHandler:将不会调用委托方法。然后在:
-(void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data
您可以添加自己的[data length]
计数器。使用NSTimer以同步的方式收集并重置它,你就拥有它。请记住,如果您需要更精确地存储精确的测量时间,NSTimer不会完全按照指定进行闪光