美文网首页
Morning更新日志及Bug记录

Morning更新日志及Bug记录

作者: 黑丫山上小旋风 | 来源:发表于2016-02-22 11:20 被阅读71次

    更新日志

    2016.2.1

    versionCode 5
    更新版本号1.2.2

    • 修复周日闹钟不响应问题
    • 修复修改闹钟信息后原闹钟依然会触发问题

    2016.1.30

    versionCode 4
    更新版本号1.2.1

    • 新增自定义铃声,可以从本地选取喜欢的音乐作为铃声
    • 删除添加闹钟界面底边栏设计,统一放到顶部菜单中
    • 修复修改闹钟界面无法获取当前闹钟信息bug

    Bug日志

    1.周日不触发闹钟bug(2016.2.1)

    • 问题描述:
      重复闹钟在周日不会被触发
    • 原因分析:
      获取系统时间的当前dayofweek时,如果是周日返回0,但是AlarmInfo中保存的周日信息为7,不匹配造成
    • 解决方案
      • 获取当前dayofweek时如果是0,赋值为7
    • 实际解决
      同方案
    • 解Bug成功

    2.修改闹钟信息bug(2016.2.1)

    • 问题描述:
      修改闹钟信息后,重复天数修改失败,旧的闹钟依然会被触发,新的闹钟也会被触发
    • 原因分析:
      修改闹钟完成后,采用的刷新方法是重新加载FragmentAlarm页面,并再次开启定时任务,并没有取消之前的定时任务,因为闹钟触发时间被修改,AlarmManger在处理的时候认为是一个不同的定时任务,因此没有覆盖旧的闹钟
    • 解决方案
      • a.在修改闹钟信息后,取消原来的定时任务,重新启动新的定时任务。
      • b.优化AlarmReceiver代码结构,只通过Intent将闹钟Id传递,由Receiver从数据库中查找准确的闹钟信息,减少Intent携带数据以免造成数据冗杂
    • 实际解决
      • a方案有效,b方案不可行,因为Receiver在一个新的进程中,依靠原进程读取数据库会造成线程不安全。
      • 在获取PendingIntent时,最后一位参数如果传入0,会保留第一次的Intent对象,在Receiver响应后触发RunAlarmAgain()时会导致无法找到闹钟信息,报空指针错误。
    PendingIntent pi= PendingIntent.getBroadcast(context,id,
                            intent,PendingIntent.FLAG_UPDATE_CURRENT);
    
    • 解Bug成功

    3.WIFI无Internet访问时崩溃bug(2016.2.22)

    • 问题描述:
      当连接有Wifi但并无网络访问权限时在网络请求超时会导致程序崩溃
    • 原因分析:
      NetInfo.isNetWorkAvailable()只能判断当前是否有数据网络,及是否连接WIFI,无法判断网络访问情况,导致初始化数据条件判断失误,请求网络数据,返回result为空,在数据解析中未进行空安全处理,导致空指针异常。
    • 解决方案
      • a.重新修改判断网络方法,判断是否有网络访问。查询相关API
      • b.在请求数据后判断result是否为空,为空不调用parseData();
    • 待解决

    相关文章

      网友评论

          本文标题:Morning更新日志及Bug记录

          本文链接:https://www.haomeiwen.com/subject/syzjkttx.html