优化配置功能、增加组合任务的配置功能
优化任务队列代码
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<aria>
|
||||
<!--注意,修改该配置文件中的属性会覆盖代码中所设置的属性-->
|
||||
|
||||
<!--Aria框架配置-->
|
||||
<app>
|
||||
<!--是否使用AriaCrashHandler来捕获异常,异常日志保存在:/mnt/sdcard/Android/data/{package_name}/files/log/-->
|
||||
<useAriaCrashHandler value="true"/>
|
||||
@@ -8,10 +10,15 @@
|
||||
<logLevel value="2"/>
|
||||
<!-- 是否检查网络 true: 检查网络,false: 不检查网络-->
|
||||
<netCheck value="false"/>
|
||||
<!--除非无法使用注解,否则不建议使用广播来接受任务状态,true:使用广播接收任务状态,false:不适用广播接收状态 -->
|
||||
<!-- http://aria.laoyuyu.me/aria_doc/api/use_broadcast.html -->
|
||||
<useBroadcast value="true"/>
|
||||
<!--断网的时候是否重试,true:断网也重试;false:断网不重试,直接走失败的回调-->
|
||||
<notNetRetry value="true"/>
|
||||
</app>
|
||||
|
||||
|
||||
<!--注意,修改该配置文件中的属性会覆盖代码中所设置的属性-->
|
||||
<!--普通下载任务-->
|
||||
<download>
|
||||
|
||||
<!--设置任务最大下载速度,0表示不限速,单位为:kb-->
|
||||
@@ -27,9 +34,6 @@
|
||||
-->
|
||||
<useBlock value="true"/>
|
||||
|
||||
<!--断网的时候是否重试,true:断网也重试;false:断网不重试,直接走失败的回调-->
|
||||
<notNetRetry value="true"/>
|
||||
|
||||
<!--设置下载线程数,下载线程数不能小于1
|
||||
注意:
|
||||
1、线程下载数改变后,新的下载任务才会生效;
|
||||
@@ -69,17 +73,12 @@
|
||||
<!--进度更新更新间隔,默认1000毫秒-->
|
||||
<updateInterval value="1000"/>
|
||||
|
||||
<!--除非无法使用注解,否则不建议使用广播来接受任务状态,true:使用广播接收任务状态,false:不适用广播接收状态 -->
|
||||
<!-- http://aria.laoyuyu.me/aria_doc/api/use_broadcast.html -->
|
||||
<useBroadcast value="true"/>
|
||||
|
||||
</download>
|
||||
|
||||
<!--普通上传任务-->
|
||||
<upload>
|
||||
<!--设置任务最大上传速度,0表示不限速,单位为:kb-->
|
||||
<maxSpeed value="0"/>
|
||||
<!--断网的时候是否重试,true:断网也重试;false:断网不重试,直接走失败的回调-->
|
||||
<notNetRetry value="false"/>
|
||||
|
||||
<!--设置IO流读取时间,单位为毫秒,默认20000毫秒,该时间不能少于10000毫秒-->
|
||||
<iOTimeOut value="10000"/>
|
||||
@@ -108,9 +107,55 @@
|
||||
<!--进度更新更新间隔,默认1000毫秒-->
|
||||
<updateInterval value="1000"/>
|
||||
|
||||
<!--除非无法使用注解,否则不建议使用广播来接受任务状态,true:使用广播接收任务状态,false:不适用广播接收状态 -->
|
||||
<!-- http://aria.laoyuyu.me/aria_doc/api/use_broadcast.html -->
|
||||
<useBroadcast value="false"/>
|
||||
</upload>
|
||||
|
||||
<!-- 下载类组合任务 -->
|
||||
<dGroup>
|
||||
|
||||
<!--设置任务最大下载速度,0表示不限速,单位为:kb-->
|
||||
<maxSpeed value="128"/>
|
||||
|
||||
<!--组合任务下载队列最大任务数, 默认为2-->
|
||||
<maxTaskNum value="1"/>
|
||||
|
||||
<!--设置下载失败,重试次数,默认为10-->
|
||||
<reTryNum value="1"/>
|
||||
|
||||
<!--设置重试间隔,单位为毫秒,默认2000毫秒-->
|
||||
<reTryInterval value="5000"/>
|
||||
|
||||
<!--执行队列类型,见com.arialyy.aria.core.QueueMod,默认类型为wait-->
|
||||
<queueMod value="wait"/>
|
||||
|
||||
<!--进度更新更新间隔,默认1000毫秒-->
|
||||
<updateInterval value="1000"/>
|
||||
|
||||
|
||||
<!-- =============================以下为子任务的配置====================================-->
|
||||
|
||||
<!--能同时下载的子任务最大任务数,默认3-->
|
||||
<subMaxTaskNum value="3"/>
|
||||
|
||||
<!--子任务下载失败时的重试次数,默认为5-->
|
||||
<subReTryNum value="5"/>
|
||||
|
||||
<!--子任务下载失败时的重试间隔,单位为毫秒,默认2000毫秒-->
|
||||
<subReTryInterval value="5000"/>
|
||||
|
||||
<!--子任务url连接超时时间,单位为毫秒,默认5000毫秒-->
|
||||
<connectTimeOut value="5000"/>
|
||||
|
||||
<!--子任务IO流读取时间,单位为毫秒,默认20000毫秒,该时间不能少于10000毫秒-->
|
||||
<iOTimeOut value="10000"/>
|
||||
|
||||
<!--子任务写文件buff大小,该数值大小不能小于2048,数值变小,下载速度会变慢-->
|
||||
<buffSize value="8192"/>
|
||||
|
||||
<!--子任务 https ca 证书信息;path 为assets目录下的CA证书完整路径,name 为CA证书名-->
|
||||
<ca name="" path=""/>
|
||||
|
||||
<!--子任务是否需要转换速度单位,转换完成后为:1b/s、1kb/s、1mb/s、1gb/s、1tb/s,如果不需要将返回byte长度-->
|
||||
<convertSpeed value="true"/>
|
||||
|
||||
</dGroup>
|
||||
</aria>
|
||||
@@ -59,8 +59,6 @@ public class DbTestActivity extends BaseActivity<ActivityDbTestBinding> {
|
||||
entity.setDownloadPath(key);
|
||||
|
||||
DTaskWrapper dte = new DTaskWrapper(entity);
|
||||
dte.setUrl(url);
|
||||
dte.setKey(key);
|
||||
|
||||
datas.add(entity);
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
// private fun startD() {
|
||||
// Aria.download(this)
|
||||
// .load(DOWNLOAD_URL)
|
||||
// .addHeader("groupName", "value")
|
||||
// .addHeader("groupHash", "value")
|
||||
// .setDownloadPath(Environment.getExternalStorageDirectory().path + "/hhhhhhhh.apk")
|
||||
// .start()
|
||||
// }
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.arialyy.simple.download.group;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -46,7 +45,7 @@ import java.util.List;
|
||||
@Bind(R.id.sub_task) TextView mSub;
|
||||
@Bind(R.id.task_group) TextView mGroup;
|
||||
@Bind(R.id.pb) HorizontalProgressBarWithNumber mPb;
|
||||
private String mGroupName;
|
||||
private String mGroupHash;
|
||||
private String mChildName;
|
||||
private List<String> mUrls;
|
||||
private DownloadEntity mChildEntity;
|
||||
@@ -55,7 +54,7 @@ import java.util.List;
|
||||
super(context);
|
||||
setStyle(STYLE_NO_TITLE, R.style.Theme_Light_Dialog);
|
||||
mChildEntity = childEntity;
|
||||
mGroupName = "任务组测试";
|
||||
mGroupHash = "任务组测试";
|
||||
mUrls = urls;
|
||||
mChildName = childEntity.getFileName();
|
||||
}
|
||||
@@ -72,7 +71,7 @@ import java.util.List;
|
||||
}
|
||||
|
||||
private void initWidget() {
|
||||
mGroup.setText("任务组:" + mGroupName);
|
||||
mGroup.setText("任务组:" + mGroupHash);
|
||||
mSub.setText("子任务:" + mChildName);
|
||||
mPb.setProgress((int) (mChildEntity.getCurrentProgress() * 100 / mChildEntity.getFileSize()));
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ public class DownloadAdapter extends AbsRVAdapter<AbsEntity, DownloadAdapter.Sim
|
||||
if (entity instanceof DownloadEntity) {
|
||||
return ((DownloadEntity) entity).getUrl();
|
||||
} else if (entity instanceof DownloadGroupEntity) {
|
||||
return ((DownloadGroupEntity) entity).getGroupName();
|
||||
return ((DownloadGroupEntity) entity).getGroupHash();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user