今天与Android开发组长聊了如何作好性能优化,发现状况是绕开不干或傻干,所以谈了如下几点,欢迎泼水。性能优化
- 不要先入为主,认为无法优化;
- 不要先去优化,而要评测;
- 最好使用自动工具,手工打日志时不要费神干体力活记上下文信息;
- 就算干体力活也要干闭眼都能干的活;
- 不要手工看日志,要利用Excel图表呈现,按Tab分列输出日志;
- 不要急于实现,先想要怎样使用,即便领导催得急也要考虑方法是否有效,综合考虑短时间和长期收益;
- 先考虑机制、应用场景,不要先考虑如何实现;
- 不要本身傻干,更不要带着你们傻干,能不干少干最好,好方法永远是懒人想出来的;
- 仍是不要急于实现,先考虑功能,再分包出去,即便分为本身;
- 砍柴不误磨刀工,花时间写自动播放机制,让平板少启动几回、多跑一会;
- 不要用百度,用googlestable.com,不要输中文和全句(结果你懂的),应输入英文关键字,分清是在可行性分析仍是编码实现,可别掉进知识和垃圾的海洋;
- 先广撒网、数据分析过滤,图表呈现问题,逐级精写日志,锁定问题点;
- 使用脚本批量清除日志语句,由于已经将写各类日志简化为一种“TimeLog.d();”,不论开始、中间和结尾。
初期安排:函数
- 有一个类 TimeLog,只有一个函数 d(),在要记日志的地方只须要写
TimeLog.d();
,不用区分函数名(从调用堆栈取)、开始、分区、结束(序号自增),二分法、三分法、N分法都行。
- 让你们分头广撒日志,可能有问题的地方都狂加
TimeLog.d();
,宁肯错杀三千不放过一个。
- 在平板上跑一次,记录大量日志,每行日志按Tab分列,第一个字符是Tab以便与普通日志区分(下句见分晓)。
- 将日志文本复制到Excel,去掉第一列,那些都是普通日志,而后复制到UltraEdit将多余空行所有替换掉,而后复制到Excel,如今是规整的表格了。
- 在PPT中利用自动图表工具,将Excel数据复制到图表,生成多线图表,性能问题一目了然了。
- 对于偶发问题,须要多跑几回,最好写点狂跑代码,让日志记录多飞一会。根据问题点,再来次精写日志,仍是
TimeLog.d();
,让出问题的语句暴露。
后续固然是针对问题最严重的语句作优化了,相互分享才能改进质量,造些实用工具类是避免问题分散的方法。工具