a***@snccb.com
a***@snccb.com
  • 发布:2023-03-03 18:03
  • 更新:2023-03-03 18:03
  • 阅读:117

【报Bug】离线包版本3.7.6.81726_20230227,downloader不暂停情况直接退出app,续传文件安装有问题,杀app进程出去,能枚举但不续传

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.7.6

手机系统: Android

手机系统版本号: Android 10

手机厂商: vivo

手机机型: vivo Z5x

打包方式: 离线

操作步骤:

基础步骤:正常addEventListener添加下载任务事件监听器,开始下载,调用pause暂停后,直接enumerate枚举,然后resume续传。

1、不退出app,暂停后直接开始续传

2、暂停后,正常退出app,重新打开后开始续传

3、不暂停,正常退出app,重新打开后开始续传

4、杀掉app,重新打开后开始续传

预期结果:

对应上方情况1:正常续传并续传完文件可以正常使用

对应上方情况2:正常续传并续传完文件可以正常使用(原监听器是否失效问题不大,最好不失效,不用新设置)

对应上方情况3:正常续传并续传完文件可以正常使用(原监听器是否失效问题不大,最好不失效,不用新设置)

对应上方情况4:正常续传并续传完文件可以正常使用(原监听器是否失效问题不大,最好不失效,不用新设置)

实际结果:

对应上方情况1:能枚举任务,监听器回调正常,续传开始正常,并且续传完文件正常可安装

对应上方情况2:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,并且新监听器个别事件会重复执行(比如完成后处理),续传开始正常,续传完文件正常可安装

对应上方情况3:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,并且新监听器个别事件会重复执行(比如完成后处理),续传开始正常,续传完文件不正常不可安装(安装报invalid LOC header(bad signature)错误,从新监听器log看到文件大小基本等于退出时已有大小+total大小,但log显示是从已下载大小后继续下载得,怀疑是续传是在已下载文件基础下直接下了整个文件)

对应上方情况4:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,调用resume不是进行的续传,而是以新文件命重新直接下载得,该重新下载文件正常可以安装

bug描述:

h5 downloader进行断点续传功能:
基础步骤:正常addEventListener添加下载任务事件监听器,开始下载,调用pause暂停后,直接enumerate枚举,然后resume续传。

1、不退出app,暂停后直接开始续传:能枚举任务,监听器回调正常,续传开始正常,并且续传完文件正常可安装

2、暂停后,正常退出app,重新打开后开始续传:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,并且新监听器个别事件会重复执行(比如完成后处理),续传开始正常,续传完文件正常可安装

3、不暂停,正常退出app,重新打开后开始续传:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,并且新监听器个别事件会重复执行(比如完成后处理),续传开始正常,续传完文件不正常不可安装(安装报invalid LOC header(bad signature)错误,从新监听器log看到文件大小基本等于退出时已有大小+total大小,但log显示是从已下载大小后继续下载得,怀疑是续传是在已下载文件基础下直接下了整个文件)

4、杀掉app,重新打开后开始续传:能枚举任务,原监听器回调失效,需要在resume前重新addEventListener添加下载任务事件监听器,调用resume不是进行的续传,而是以新文件命重新直接下载得,重新直接下载文件正常可以安装

简单结论:只有pause暂停过得,文件才能正常续传并可使用,但是退出app及杀app官方没有做pause得自动处理,或者处理有问题

2023-03-03 18:03 负责人:无 分享
已邀请:

要回复问题请先登录注册