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 4283 You Are the One ( dp 2012 ACM/ICPC Asia Regional Tianjin Online )
    hdu 4268 Alice and Bob (贪心 2012 ACM/ICPC Asia Regional Changchun Online)
    2sat 讲解
    高斯消元 Java 高精度版 HDU 2449 Gauss Elimination
    poj 3207 Ikki's Story IV Panda's Trick (2sat)
    poj 2723 Get Luffy Out (2 sat + 二分)
    hdu 2604 Queuing (矩阵乘法 求递推式)
    poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
    poj 3683 Priest John's Busiest Day (2sat 模版)
    vs2008新特性
  • 原文地址:https://www.cnblogs.com/xns1001/p/5140275.html
Copyright © 2011-2022 走看看