时间
2015.5-2015.7
事件
这两个月以来,忙着一个新的Android项目,有IM,有复杂的管理流程,有朋友圈概念,有通讯录功能,看似庞大,但是基本上只做了业务和界面这的东西,底层模块则沿用先前的一套。我在这个项目中做着业务最复杂最繁琐的一块儿,累,加了一个月班。
当然,累也是有所收获的,除了技术经验上的积累,再则就是项目团队的和谐共处的方式,都是我这一段时间的财富。作为一名屌丝程序猿,这里我还是讲讲这些时间的技术困惑和心得:
1.ExpandableListView的使用以及优化:这个控件在使用上最大的难点就是刷新控件的接入,目前项目底层接入的是PullToRefresh这个开源控件,但是在接入中却不满足需求,官方给出的Demo中ExpandableListView需包含在一个Activity中,而我根据项目需求,ExpandableListView包含在了Fragment中,所以,只得另谋高就。最后使用Google自带的SwipeRefreshLayout,个人感觉不错。优化上,主要是ViewHolder的传统ListView的优化方式。
2.命令模式代替广播:举个例子:在Fragment上面有一个关于下三级页面的一个字段显示着,如果你在三级页面中修改了这个值之后,如何改变Fragment中的显示呢,一般来说都会使用到广播去完成这项操作,而我在这项目中使用了命令模式,在Fragment中声明一个命令(改变字段显示的操作),对应着一个命令id,在三级页面改变了之后,执行此命令改变Fragment中的字段显示,完成操作。
3.一些开源控件的使用:CollapsibleTextView、ResizeRelativeLayout、GifMovieView等等。
总结:做完了这些东西后,感觉不是很喜欢,或许我该尝试着如何进行下一步提升了,关于设计模式或者Android一些性能优化上的东西。期望自己在未来更加专业化,fighting。