这两周的工作主要是解决bug,回顾一下:
1:描述:marketdownloadactivity中再有多个app在下载中时,按钮"暂停/继续" 有时会失效
原因:之前的版本刷新每个下载条目的进度使用的是notifydatasetchanged,而在getview中会有设置setonclicklistener的方法,所以就会出现listener还未设置就发生点击事件的情形.所以出现次bug
解决:实现单条刷新的方法,刷新单条进度不再使用notifydatasetchanged(),而且频繁notifydatasetchanged()会造成严重的性能损耗,当布局没有大得改变时不要用notifydatasetchanged();
2:描述:marketdownloadactivity,有时点击“暂停”按钮后下载暂停了,但是按钮的显示何下载进度条文字显示都未改变
原因:每次开始下载时发起的请求userdownloadevent(显示信息从此提取)和下载进度更新返回的userdownloadevent对象不是同一个,所以暂停只是对第一个userdownloadevent操作,而下载是异步的,当暂停时可能有一个更新进度的userdownloadevent正在发送过程中。所以导致信息不一致
解决:再更新下载进度处添加判断语句,如果显示已经变成了pause,就不要更新进度和改变第一个userdownloadevent。
其他:其实更好的方法时一个下载任务只存在一个userdownloadevent,这样就不会出现错误,不能理解当时为什么会创建出两个对象出来。不过现在项目的代码耦合太深,没法改,不敢改。。。。。。
先写到这里,待续
时间: 2024-12-27 19:49:14