谈谈最近的ios优化的事情(续)

写该篇文字的时候,这已经是优化之后的事情了。该文将上接前文。


这里要描述最近一周的状况:上周末已经开始着手优化ipad mini上的产品问题。最近一周基本上都是在“received memory

warning”以及“to be or

not to be”上面下功夫思考问题。


上文已经写了如何优化已经优化需要注意的问题。当然本文要说的是,这次的优化和前面的已经没有很大关系了。因此此次的优化,将不再上面的范围之内。这次的优化,并不是前文的任何优化方式之一,而是编码习惯。我们在使用引擎的过程中,遇到数组取值空索引,不断地重复显示或者隐藏某组件,不断地设置组件可触摸和不可触摸,会有什么问题?在使用xcode查看内存泄漏工具Instruments中,发现了很多次“received memory warning”,不要以为这仅仅是一个警告,事实上这个情况在iphone设备以及安卓设备上面,即使引起警告,也可以忽略,不过在IPAD MINI1上面,这是程序即将黑屏的前兆。


这么多年写的产品,多数游戏都是运行在安卓和iphone设备,但是这次的产品运行在IPAD上面,令我以外的是2014年的产品,很多人还在继续使用。于是,就必须关注产品在各个设备上面的运行情况。不得不说,有时候关注进去,会发现很多问题。内存小的设备,对内存嫉妒敏感,这就是IPAD MINI1的表现。只要产生上面的警告,那么很短的时间之内,3分钟或者5分钟,程序将终止。对于内存的泄漏将是零容忍,对IPAD MINI1我极度服气。这么说的缘故,实则是如果我们的产品能够流畅在IPAD MINI1上面,那么其他的IPHONE设备,我们跑产品基本无虞。


内存泄漏是一个很重要的问题,大约在两周之前,我一直对IPAD MINI1上面的运行非常焦心。当然不仅仅是用户的反馈,更是因为自己对于产品的追求。开发产品的人,都不希望产品存在BUG,但是由于各种原因,或者赶工,或者追求速度,或者其他的缘故,所以很多BUG就产生了。解决问题是一个过程,解决问题很多时候是不断的思考和尝试,我们并不能一下子断定问题的所在,但是思考问题,尝试假设方面,却是大脑必须考虑的问题。这很重要。产品不仅仅是产品,如果认真对待,这应该是艺术品。所以,不能轻视。


聚焦问题,这是一个解决问题的必备素质。这几周,发生了很多问题。很多用户在上个月21号之后,并不知道卸载更新产品,在这一点上面,我只想说,产品还是对年轻人好用,年轻人知道更新有更多更好的体验,而不是相反。一个极其老的版本,我们早已经将版本文件的地址从普通阿里云移植到OSS上面,但是用户并没有“获悉”。这里的获悉,并不是不知道,而是知道情况,但是并不执行,又或者完全不知道更新的存在,这仍旧是产品的问题。产品发布新闻,并没有及时,遇到问题,并没有获悉第一手情况,而是简单的获知表面的问题。我最近发现,如果不深入和家长联系,我永远不知道家长的实际情况,通过中间人获取的信息,存在太多不真实不正确的状态,这一点我极度不理解。


经常地卸载或者安装产品,这并不是我的期望。但是话说回来,什么情况需要重新安装,这都要看情况。鉴于目前的机制如此,例如课程文件的下载地址,没有附带MD5值,那么这里有一个问题,已经下载的课程文件如何更新。这是其一。另外,用户在使用过程中,下载空文件,学习卡顿,这个时候必须上传文件到服务器,而且由于是空文件,无法再次下载,只能卸载重新安装,当然解决的方案是:不缓存课程文件或者添加MD5值,目前的机制并不支持,这是以后想做到的,如此出现问题,也可以通过MD5值进行了更新课程文件。


产品的优化之路,可能在这段时间,是这些问题,但是到了另外的阶段,确实数据问题,很多问题的产品,都不是立即产生的,很多诡异的BUG也是超乎我的想象。这段时间,忙于优化性能,并没有关注其他的数据问题,显示问题,在下个时间段,要花时间研究这些问题。


很多时候,产品不仅仅是负责那么简单,而是要有研究的心思,对于产生的问题,要花时间看,当然所有的问题也有主次之分,这就是要衡量的。产品优化的文章,到此就结束了,后期将这周的状态进行详细描述。的确是一次难忘的经历。很少时间,会这样的聚焦,也很少有机会,这样的去评判产品使用者。傻瓜照相机的存在,是有空间的,傻瓜式的产品,也必须是未来市场的趋势。这就是AI智能手机,这也是人工智能的本质之一:傻瓜式的不需要思考的即可操作的产品,才是未来的产品成功的地方,这也是产品追求的方向。


路漫漫其修远兮,吾将上下而求索。



谈谈最近的ios优化的事情(续)_第1张图片

你可能感兴趣的:(谈谈最近的ios优化的事情(续))