没有做好调查,你就敢使用一个新的Android第三方框架?
使用一个新的Android第三方库需要做哪些考虑
目录
1 基本信息
1.1 优缺点
对于一个第三方库,有优点,但有时也有缺点,那么找出它们,分析他们带来的影响
1.2 大小
库的大小关系着今后生成APK的大小,虽说库小不能证明它优秀,但可以作为考量的一部分。
1.3 是否存在so包?
so包相比较jar包来说更占据位置,那如果我们只需要针对某个平台,是否可以取消引用某些so包?
1.4 变更履历
这个第三方库在变更中做了哪些事情?做了哪些优化?或者提出了哪些新功能等
1.5 同类库比较
寻找是否与此库功能相同,如果存在,进行对比,择优选取。
1.6 开源协议
开源第三方库都会遵从一些开源协议,那么这个协议是什么?需要了解
2 语言支持
2.1 java语言支持
是否支持java语言的新版特性?是否有最低版本限制?
2.2 kotlin支持
是否支持kotlin?
3 gradle配置
- 是否与已知库存在重复依赖?
- 使用已知最新稳定版本
3.1 配置混淆文件
- 是否需要配置混淆?
- 如果用到了泛型或者注解,如何配置?
4 基本使用
4.1 是否需要context?
- 是否全局使用?
- ApplicationContext
- ActivityContext
- 是否会一直持有Context对象?
4.2 是否需要初始化?
- 全局初始化?
- 页面初始化?
5 线程相关
- 不同的线程下使用,是否不同?
- 在否在使用线程池的情况下,完美使用?(有一些线程优化使用,ThreadLocal,有可能存在问题)
6 实例创建
6.1 是否需要封装
- 单例?
-
建造者?
……
6.2 实例是否缓存?
- 库内部是否做了缓存实例处理?
- 避免实例缓存造成的数据滞留问题,主要是ThreadLocal与线程池同时使用时存在问题。
7 IO相关
是否存在IO相关操作?
- 流
- 设备
- 数据库
7.1 资源释放
对于可回收资源的,需要及时回收
推荐****:
广告:
我使用的装备备:程序员必备 | 不伤关节 | 手感好 | 静电容 | Plum键盘|Niz键盘 戳我