没有做好调查,你就敢使用一个新的Android第三方框架?

使用一个新的Android第三方库需要做哪些考虑

没有做好调查,你就敢使用一个新的Android第三方框架?_第1张图片


目录

  1. 基本信息
    1. 优缺点
    2. 大小
    3. 是否存在so包
    4. 变更履历
    5. 同类库比较
    6. 开源协议
  2. 语言支持
    1. Java语言
    2. kotlin支持
  3. gradle配置
    1. 混淆文件配置
  4. 基本使用
    1. 是否需要context
    2. 是否需要初始化
  5. 线程相关
  6. 实例创建
    1. 是否需要封装
    2. 实例是否缓存
  7. IO操作
    1. 资源释放
  8. 推荐视频教程
  9. 广告

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配置

  1. 是否与已知库存在重复依赖?
  2. 使用已知最新稳定版本

3.1 配置混淆文件

  1. 是否需要配置混淆?
  2. 如果用到了泛型或者注解,如何配置?

4 基本使用

4.1 是否需要context?

  1. 是否全局使用?
    1. ApplicationContext
    2. ActivityContext
  2. 是否会一直持有Context对象?

4.2 是否需要初始化?

  1. 全局初始化?
  2. 页面初始化?

5 线程相关

  1. 不同的线程下使用,是否不同?
  2. 在否在使用线程池的情况下,完美使用?(有一些线程优化使用,ThreadLocal,有可能存在问题)

6 实例创建

6.1 是否需要封装

  1. 单例?
  2. 建造者?

    ……

6.2 实例是否缓存?

  1. 库内部是否做了缓存实例处理?
  2. 避免实例缓存造成的数据滞留问题,主要是ThreadLocal与线程池同时使用时存在问题。

7 IO相关

是否存在IO相关操作?

  1. 设备
  2. 数据库

7.1 资源释放

对于可回收资源的,需要及时回收



推荐视频教程:

Android从整体到局部系列视频教程戳我

广告:

我使用的装备备:程序员必备 | 不伤关节 | 手感好 | 静电容 | Plum键盘|Niz键盘 戳我


你可能感兴趣的:(Android开发系列,Android,Notes)