1、熟练掌握view的渲染和绘制,能独立解决UI滑动冲突,熟悉事件分发原理和android下的手势识别及多点触控,拥有自定义控件开发经验.
2、熟悉Android屏幕适配,熟练运用dimens,autolayout进行屏幕适配.
3、熟练jni的使用,利用jni实现java与底层c之间的相互调用.
4、熟悉android网络通信技术,包括socket通信,TCP/UDP,Http等.利用socket通信开发过即时通信类的app.
5、熟练使用Rxjava+Retrofit网络请求框架.
6、熟悉AIDL技术、熟练掌握android进程间通信.
7、了解视频直播技术,会使用推流和拉流以及处理断线重连逻辑等,做过视频直播产品开发.
8、熟悉常用热修复框架修复原理、如tinker、AndFix、HotFix等,曾在项目中使用过tinker.
9、熟悉android性能优化,如网络大数据加载及缓存策略、多线程并发问题优化、内存泄漏优化、UI卡顿优化等
10、熟悉android五大数据存储,掌握数据库CRUD操作,熟练使用ORM数据库框架,如GreenDao.
11、熟悉常见的java设计模式,如单列设计模式、代理模式、工厂模式、观察者模式等.
项目名称: 友德医
开发环境: Android Studio + SVN
项目描述: 该项目主要功能通过视频和图文聊天实现患者与医生之间的通信.患者同时也可以在这个平台上买到他想要的药品.
工作职责: 负责项目整体框架的搭建及维护,参与视频与图文聊天功能的开发.
主要技术:
1、采用Mvp+Rxjava+Retrofit框架对网络层进行封装,对从服务器拉取下来的网络数据实行三级缓存。
2、抽取项目中的Activity和Fragment基类,针对页面item和是否刷新,将其基类分为三种,分别为不刷新类,可整体下拉刷新类和带有多种item的RecyclerView下拉刷新类.并将其做成Android Studio插件,便于提高开发效率.
3、视频及图文聊天都是基于socket开发,视频采用第三方视频SDK(Anychat),针对网络差的情况做断线重连处理。并利用代理设计模式对视频中的线程池进行封装,防止出现线程并发。
4、项目中采用tinker进行热修复,优化补丁包的下载流程,提高用户体验度。
5、封装第三方登陆、支付,分享代码。
6、使用Glide加载图片,并实行图片三级缓存(采用lrucache算法),提高加载速度和节约用户流量。
7、药店商城采用混合开发完成,实现android与js交互。