zoukankan      html  css  js  c++  java
  • android SDK开发经验总结


    SDK开发经验之谈:
    一、SDK是什么?包含特定功能的软件开发工具包。
    二、这个工具包应该具有什么样的特征?
    1-简洁易用
      ①一个好的SDK,应该让使用者不用花太多时间去学习如何使用。接口尽量简单易懂,包括接口命名,形参命名,以及异常抛出,都要明确。最好每个API都有对应注释。方便进入源码查看。
      ②另外,一个SDK 包(比如android里面aar),它对外开放的最好只有一个类,由它作为整个SDK的入口。

      ③不要依赖外部的其他的第三方包或者库,因为这样,会受到其他库的牵制,使用起来也不方便。

      反正一句话,SDK要做成傻瓜式的。
    2-安全
      ①SDK不应该入侵宿主代码,也就是说,SDK最主要的作用,应该是接收参数以及输出结果,不能将 调用API时传入的某些对象进行改造。(比如,传入了一个ArrayList,SDK内部对这个list进行了增删,这种类似的动作最好不要做);
      ②由于android 的apk,或者SDK 的aar包,都是可以被反编译的,虽然可以用混淆的方式来稍微抵抗一下反编译,但是还是有可能泄漏核心代码。对于这种情况,使用JNI调用核心代码的方式,将核心代码放在动态库文件so里面,是不错的解决办法。
      ③权限最小原则,本SDK内不需要用到的权限,就不要在注册文件里面写。
    3-稳定
      ①SDK的迭代周期相对较长,也就意味着,一个版本的SDK可能会维持很长时间,这段时间之内,要保持接口始终可用。
      ②另外一点,如果遇到了SDK迭代,需要删除某些API,也不能立即删除,而是要先标记该方法过时,然后在下下次迭代时,予以@hide,或者直接删除。
      ③android版本很多,为了让SDK兼容更低的版本,有时候需要在一些方法的上头加上可调用的最低SDK版本号,或者在java代码中判定当前的SDK版本,然后根据不同版本走不同的程序分支。
    4-高效
      ①如果程序运行过程中进入了SDK的某个接口,然而这个接口的执行效率相当低,拖慢了整个程序执行的效率。那么这种SDK是不合格的。
      ②编写SDK内部代码,应该注意尽量减少内存损耗,电量损耗,CPU占用等;当然,如果直接在SDK内部就造成了内存泄漏,那么这个SDK肯定不合格。

  • 相关阅读:
    基础编程练习题第一波
    TYVJ 1541 八数码
    NOIP 2014 寻找道路
    NOIP2014 解方程
    POJ 3213 矩阵乘法(优化)
    POJ 1523 Tarjan求割点
    POJ 3237 树链剖分+线段树
    SPOJ 375 树链剖分
    NOIP 2012 T2 国王游戏 (贪心+高精)
    POJ 1364 差分约束
  • 原文地址:https://www.cnblogs.com/hankzhouAndroid/p/8955886.html
Copyright © 2011-2022 走看看