1、关于项目Log打印的问题,统一的Log打印工具类,可以通过在Application中设置log开关,而且提供log写文件功能,因为随着项目变大,log变多,我们需要分析log文件,而不只是在IDE中过滤查看,说到这里我们就需要从几百M的文件中筛选错误日志,可以通过过滤一下关键字:died、caused、fatal、exception、trace、finish、包名等
2、关于toast显示的问题,需要提供不同的toast方法,也可以在Application中设置开关,哪些吐司是需要一直显示,哪些吐司只需要在debug模式下显示
3、sharedpreferences文件读写,哪些是需要在退出或者切换账号的时候清除,哪些不需要,是否需要2个文件分开存储
4、去掉布局文件中不需要的默认值
5、今天同事遇到一个问题:应用首次启动加载,在logo页停留了超过16s而且是黑屏然后才跳到首页,二次启动后就没问题了,这个问题可能会随着我们logo页需要初始化的东西越来越多而出现,这时候需要通过打印logo页的生命周期来定位问题,通过打印log查看日志打印时间最后发现问题出在onCreate当中,某些初始化操作耗时严重,这里顺便提到一个应用需要注意的问题(或者说衡量一个应用基础属性的标准):应用启动时间(可以通过过滤ActivityManager查看Activity的启动时间)、页面的过度渲染、崩溃率
6、接口开发相关:接口尚未开发完成,服务端只是给出了接口返回数据的格式,这个时候我们可以自己模拟数据写文件然后存放在aasets目录下,然后模拟网络请求,提前构建相关业务逻辑,等到接口开发完成可以快速跟进
7、学习:技术面要往深和新的方向发展!时刻关注最前沿的技术知识!
8、资源文件中color可以使用如下方式命名,避免多人同时开发导致color文件重复混乱
格式如下:<color name="ffffff">#ffffff</color>
9、这个之前不应该是确定的吗,为什么现在还问?因为现在的变化了,而且现在的给的文案也并不是非常明确的,工程师应该无论如何(不管因为什么原因导致需求不明)都要把需求搞清楚,而不能自己联想,否则测试也是会麻烦你的!
10、可以通过Android Device Monitor中的UIAutomator查看当前应用布局层次结构,而且可以快速定位你想找的控件的id,然后就可以在代码中查找了
11、新的需求影响到了你原来程序的架构设计(需求是合理的,只能证明程序的架构设计要随需求变化不断完善)
12、重启电脑有时候总会神奇地解决一些问题
13、从svn导入代码时(尤其是兼容eclipse与Android Studio的代码),不同环境下尽量避免导入无关配置
14、下拉刷新重新请求数据,应该等到获取到最新数据之后再清空原来的数据
15、无网状态下,某些数据设置应该从之前的缓存中(或者别的存储方式中)获取
16、单条数据尽最大限度做容错处理(因为服务器有可能返回某些坏数据),研发要有预判以及快速修复能力
17、项目中使用的基础公共控件前期一定要打好基础,否则在后面会带来很多麻烦!
持续更新!