功能:
1.图片加载 ImageLoader 参数配置要合理 cacheMemory 一次性的图片最好不要缓存在内存中 合理控制在内存中的内存大小 ,适当的释放 volley是google官方的 也不错
2.适配器 抽象出一个基类 统一管理
3.ListView 封装增加加载更多和下拉刷新
4.数据库 访问要及时关闭cursor,注意多线程访问
5.广播 一般我们都喜欢在onCreate注册,onDestory反注册。但会有隐藏的bug,比如内存不足时是不走onDestory生命周期的,就可能发生广播leak,官方建议在onPause,onResume注册。
6.Http框架 AsyncHttpClient github排行很高的库 不需要自己去写了 需要理解的是HTTP协议,ssl等等。
7.线程的使用 请求网络的 都要统一管理,界面退出时取消线程回调
8.Context 能用的AppLicationContext都用,避免Context泄漏
9.省电 减小对cpu的使用,以及屏幕的唤醒操作 网络请求不要过于频繁 网络请求数据压缩 不要做太复杂的计算(游戏除外)
10.图片压缩 先设置好的尺寸 循环压缩到一定的大小
11.EventBus 降低耦合,性能不错
12.编码风格 写代码不仅是是为了完成功能,也是书写你自己的外表。
13.内存泄漏 大多数是图片引起的 分析方面使用mat插件
14.设计模式 代码整洁
UI
1.actionbar
2.slidingmenu
3.pulltofreshlistview
4.pagerslidingtabstrip
5.nineoldandroids
6.drawlayer
7.熟悉view视图绘制等
写代码的感觉:
超过两次重复的代码,就要重构
尽可能的抽象出基类 合理使用组合和继承
熟悉基本的排序,查找的算法,集合不要只懂ArrayList,HashMap
提升: 多写 多看优秀的代码 多去思考 不要浪费了你的大脑
经历 做过平板项目,视频类,了解ffmpeg,做过通讯类,xmpp协议类 期间也做一些游戏项目,使用cocos2d-x