为了账号安全,请及时绑定邮箱和手机立即绑定

关于多线程断点续传时在线程里发送广播至UI,更新下载进度的问题

//间隔1000ms发送一次广播;
if(System.currentTimeMillis()-time>1000){
	//通过广播将进度发送给activity;
	intent.putExtra("progress", progress*100/fileInfo.getSize());
	intent.putExtra("进度",进度的百分比);
	context.sendBroadcast(intent);
	time=System.currentTimeMillis();
}

老师,向UI发送广播时,如果开启了三个线程同时下载,那么如果只笼统地发送个下载进度的百分比的广播,是不是意味着这只是当前某一个线程的百分比?关于这点儿一直比较疑惑!

正在回答

1 回答

    intent.putExtra("progress", progress*100/fileInfo.getSize());
这里的progress  是所有线程的下载进度的总和,不是某一个线程的, 因为progress是DownLoadTask类的成员变量 三个线程累加的进度操作的是同一个progress  可能在progress前面加个volatile 更好些,菜鸟愚见


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-Service系列之多线程断点续传下载
  • 参与学习       21816    人
  • 解答问题       54    个

本视频教程主要代领我们要学习的多线程续传下载程序的开发

进入课程

关于多线程断点续传时在线程里发送广播至UI,更新下载进度的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信