负责知了音乐项目中支付,主页和用户等模块的开发;
相关技术:
1、项目采用模块化并应用MVP架构,结合Retrofit以及RxJava搭建项目基础架构。
2、项目之前判断是否登录都是通过if(){}else()去做的,但是这样使得项目代码臃肿和冗余,所
以我使用AOP思想并采用 AspectJx AOP框架封装登录逻辑统一管理。
3、项目中涉及多个Fragment之间共享数据,之前是使用回调接口的方式实现的,但是这样 就造成
代码耦合度高不易维护,后来我使用了ViewModel,LiveData解决多个页面的共享数据的问题;
4、项目在开发阶段,使用LeakCanary来线下检测内存泄漏,发现在华为部分机型上发生内存泄
露,通过Android profile分析并导出hprof文件,结合MAT分析找到是InputMethodManager成员变量
mLastSrvView造成内存泄露,最后我通过反射将mLastSrvView引用置为null解决了这个问题。
5、通过在Launch Activity的主题上添加 android:windowBackground 来解决