|
1
40
中堂是
一种更好的方法(尽管更难实现)是保留一组周期性样本并呈现平均值。 从包含0的数组开始。数组由个样本组成,每个样本都是自上一个样本以来下载的字节数。然后开始下载。 每半秒(你可以尝试不同的间隔),测量你下载了多少字节,然后从这个新的总数中减去之前的总数。将差值添加为数组中新的最后一个元素。如果这会使数组增长到一定大小以上,请剪掉第一个元素(最旧的样本)。然后,显示所有样本的平均值。 你应该保留大约25秒的样本,间隔应该在0.5到1秒之间(这是货币和性能之间的权衡)。 如果第一个元素为零,您可能还希望在检索后将其从数组中删除。这使你的起始报道更加准确,并帮助你更快地从停滞中恢复过来,因为你在平均值中没有包括旧的零。 |
|
2
20
开始下载后,立即捕获当前系统时间并将其存储为“开始时间”。然后,要计算传输过程中任何一点的传输速度,您需要做的就是再次查看系统时间,并将其用作“当前时间”来计算到目前为止花费的总时间:
您可能希望使用秒或毫秒的精度来计算时间,当然,如果您想要比特/秒,可以将结果乘以8。 由于您使用的是Cocoa,因此可以使用NSDate类来获取时间戳。例如,在开始传输时使用以下命令:
然后使用以下方法定期检查传输速率:
|
|
|
3
1
你需要知道
|
|
4
0
记录转账所需的时间。传输速率只是传输的字节数/经过的秒数,换句话说,就是每秒字节数。你不需要这个的总尺寸。(您还可以显示已完成百分比,即传输的字节数/总字节数*100) |
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 2 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 2 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 2 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 2 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 2 年前 |