zoukankan      html  css  js  c++  java
  • 最近解决的几个bug

    这两周的工作主要是解决bug,回顾一下:

    1:marketdownloadactivity中再有多个app在下载中时,按钮"暂停/继续" 有时会失效

      原因:之前的版本刷新每个下载条目的进度使用的是notifydatasetchanged,而在getview中会有设置setonclicklistener的方法,所以就会出现listener还未设置就发生点击事件的情形.所以出现次bug

       解决:实现单条刷新的方法,刷新单条进度不再使用notifydatasetchanged(),而且频繁notifydatasetchanged()会造成严重的性能损耗,当布局没有大得改变时不要用notifydatasetchanged();

    2:marketdownloadactivity,有时点击“暂停”按钮后下载暂停了,但是按钮的显示何下载进度条文字显示都未改变

       原因:每次开始下载时发起的请求userdownloadevent(显示信息从此提取)和下载进度更新返回的userdownloadevent对象不是同一个,所以暂停只是对第一个userdownloadevent操作,而下载是异步的,当暂停时可能有一个更新进度的userdownloadevent正在发送过程中。所以导致信息不一致

      解决:再更新下载进度处添加判断语句,如果显示已经变成了pause,就不要更新进度和改变第一个userdownloadevent。

      备注:其实更好的方法时一个下载任务只存在一个userdownloadevent,这样就不会出现错误,不能理解当时为什么会创建出两个对象出来。不过现在项目的代码耦合太深,没法改,不敢改。。。。。。(补充:与写这部分代码的哥们儿交流后得知他是想把下载模块与前端解耦,不想让前端得到下载的后台数据,故返回进度时会重新创建yigeuserdowneventinfo来封装进度信息)

    3:壁纸详情加载时背景图、下载管理中“空空如也”等会多次加载的图片报oom

      原因:之前的方法是setbackgroundresource(resid)或者setimageresource(resid)方式,这种加载本质时java解码创建一个bitmap对象,但没有recycle

      解决:1.压缩加载背景图,只保留图形部分;2.在代码中使用"decodeResource()"方法来解码图片并得到bitmap,多个imageview复用一个bitmap:3.view销毁时recycle图片

      备注:此bug原因不能完全肯定

    先写到这里,待续

  • 相关阅读:
    HDU-2262 Where is the canteen 概率DP,高斯消元
    HDU-4418 Time travel 概率DP,高斯消元
    无人驾驶相关数据集
    C++——编译器运行过程
    C++——Struct 和 Union区别
    常用linux指令
    无人驾驶——定位
    Ubuntu 没有 无线网 RTL8821ce 8111 8186
    无人驾驶之传感器融合算法
    LIN通讯
  • 原文地址:https://www.cnblogs.com/xns1001/p/5140275.html
Copyright © 2011-2022 走看看