美文网首页
开单章记录下

开单章记录下

作者: 普通青年 | 来源:发表于2017-08-17 15:53 被阅读13次
图片来自网络

困扰一个多月的bug 终于解决了,感觉整个人都升华了,一个字爽。这里单章记录下。
当然在此特别鸣谢 -- 我的的小伙伴yuki 两个人都在坑里待了好久好久。。

bug的前世今生

需求: 类似微信朋友圈动态,里面涉及到动态内容, 动态九宫格,评论展示
复现: 加载多条带有多张图片的动态 造成crash

fix 的各种姿势

  • SDWebImage的问题 memory暴涨 耗电量very high disk读写操作频繁
  • YYWebImage的问题 cpu超负荷 占比20多 耗电量very high disk读写操作频
  • TableViewCell 复用问题 更改布局方式 xib与纯代码
  • 行高缓存的问题 第一次加载Cpu大量计算 NSCache 作为 cache storage 动态id作为cache key 。产生新数据如评论重新计算替换原有行高。也用过相关第三方FDTempleteCell
  • 滚动结束时候,实现scrollView的代理方法,加载数据 但是可能体验并不友好,会出现空白 以及过多的占位图片
  • 按需加载,未实现,思路简单说就是加载滚动结束index 前后x条数据
  • 圆角处理, 在Layer上操作 避免GPU损耗 离屏渲染
  • 预估行高 iOS8出现的动态行高计算 一般不是太复杂的页面足够用了
  • 加载下一页数据的时候清空SDWebImage的Cache 停止所有download cache任务
  • 控制Cache的大小 图片缓存限制xx张数 控制最大异步并发数量(当时考虑到可能多条线程开销过大导致性能损耗)

当!当!当! bingo ! pabo!

  • 代码能做的优化还是有限的
  • 下载charles 抓数据看看图片大小
  • 不看不知道 一看一条动态(9张图片)居然有10M多 手动滑稽
  • 原来真相只有一个:我们加载是原图(大图) 哈哈哈。。。。咳。。 咳。。。。
  • 后台返回缩略图用于列表展示 大图用于照片查看器查看

Alright! The bug was finally fixed.

后记:

  • 基础不扎实, 定位问题能力有待加强
  • 当初就考虑到抓包看看, 最后钻牛角尖一直是以为代码问题
  • When you have eliminated the impossibles,whatever remains,however improbable,must be the truth. Yes, fact only one.

相关文章

  • 开单章记录下

    困扰一个多月的bug 终于解决了,感觉整个人都升华了,一个字爽。这里单章记录下。当然在此特别鸣谢 -- 我的的小伙...

  • 强烈推荐:创世记逐章灵修(杜鹏牧师语音)

    创世记第一章: 创世记第二章: 创世记第三章: 创世记第四章: 创世记第五章: 创世记第六章: 创世记第七章: 创...

  • 奇葩记忆

    今天工作的事值得一记。 有一个型号的机器,有三台库存需要消化。淮安的商家开单了。现在的开单模式已经是绕着720度兜...

  • 年后感想

    想开单能开单吗,不能!死都要开单,一定能开单!我要开单,每天都逼自己去开单,每天提醒自己应该怎么做,怎么去奋斗自己...

  • 写给新入职的销售同事

    开单大吉! 库存 任务差距 排单开单 回款 到货验收 出库盈利 售后 二次开单 开单要结合库存和销售渠道,不要盲目...

  • 陈梦卖房记6【开单】

    月底租出去一套房,陈梦也穷的实在没钱吃饭了。陈梦找到刘经理,想先预支租房的提成。 刘经理也挺好说话,当时就把提成的...

  • 麦琴读经   2018.1.7   创7、太7、拉7,徒7

    创世记第7章 洪水来到的那一年,挪亚整六百岁,第五章塞特族谱中记录下名字的那些祖先,年龄最长的一位,挪亚的祖父玛土...

  • 麦琴读经  2018.1.7  创7

    创世记第7章 洪水来到的那一年,挪亚整六百岁,第五章塞特族谱中记录下名字的那些祖先,年龄最长的一位,挪亚的祖父玛土...

  • 《程章》 第十三章 道歉

    上一章 目录下一章月亮也已...

  • 开单

    今天开单了,人生中的第一单。 客户比较爽快看了喜欢直接就租下来了。不像之前那些说回去考虑考虑,回去和对象商量商量。...

网友评论

      本文标题:开单章记录下

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