SDK架构说明
2017-01-10 17:03:05 0 举报
AI智能生成
SDK(Software Development Kit)是一种软件开发工具包,它提供了一套完整的开发、调试、运行和测试应用程序所需的工具和库。SDK架构通常包括以下几个部分:API(应用程序编程接口)、库文件、示例代码和文档。API是一组函数和方法,用于实现特定功能;库文件包含了实现这些功能的代码;示例代码展示了如何使用API和库文件;文档则提供了关于如何使用SDK的详细说明。SDK架构的设计旨在使开发人员能够快速地构建和部署应用程序,同时确保应用程序的稳定性和可靠性。总之,SDK架构为开发人员提供了一个简单易用的开发环境,帮助他们更高效地完成软件开发任务。
作者其他创作
大纲/内容
层次化
下层构件为 上层构件提供服务,上层构件使用下层构件的服务,上层和下层之间形成一种类似“调用- 返回”的关系。为了正确地调用和返回,每一层都需要提供一个界面(接口)给上层,以便 与之交互
高层构件的功能依赖于低层构件的功能,但高层构件一般更容易理解,
层次化体系结构的主要优点包括重用和标准化
重用是指同样的构件可以用在任何具有 相同界面要求的地方;同样,只要层次间界面不变,一个构件也可以换用以不同方式实现的 其他同类构件
例如自研播放器要放到IOS上,可以移除Android的上层,将内核基本上是原封不动的挪到IOS,IOS上层再做一下封装即可使用了
标准化是指由标准 化组织为某一类软件构件定义标准界面,而各软件厂商可以采取不同的低层实现技术来实现 高层的标准界面。
主要缺点是效率不如整体式结构,这是因为当程序员或用户面对顶层 构件请求某项服务时,这个请求需要从高层到低层逐层下传,最终由底层构件来实现功能, 再将结果逐层上传,直至顶层用户。
举例:IOS的一层
传到了各个模块
各个模块都对这层的一些变量进行修改,导致问题定位,调试都比较麻烦
模块化
定义:模块化设计是指在对一定范围内的不同功能或相同功能不同性能、不同规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合可以构成不同的产品,以满足市场的不同需求的设计方法。
模块(module)是指提供特定功 能的相对独立的单元
标准化:模块是具有标准尺寸和标准接口的预制功能单元,这是组装、互换等特征 的基础。
可组装:多个模块可以方便、灵活地组合、配置,以构造不同大小、不同形状、不 同功能的系统。
可替换:通过用一个模块去更换另一个模块,可以改变系统的局部功能而不影响系 统的其他部分。
可维护:可以对模块进行局部修改或设置,以满足用户的需求。另外可以在现有系 统中增加新模块,以扩展系统功能。
是支持层次化的
是一种软件设计技术,它将软件分解为若干独立 的、可替换的、具有预定功能的模块,每个模块实现一个功能,各模块通过接口(输入输出 部分)组合在一起,形成最终程序
易设计:较大的复杂问题分解为若干较小的简单问题,使我们可以从抽象的模块功 能角度而非具体的实现角度去理解软件系统,从而整个系统的结构非常清晰、容易 理解,设计人员在设计之初可以更加关注系统的顶层逻辑而非底层细节
易实现:模块化设计适合团队开发,因为每个团队成员不需要了解系统全貌,只需 关注所分配的小任务。另外团队可以灵活地增加人手,新人只需直接接手某个模块, 不会影响系统其他模块的开发。
易测试:每个模块不但可以独立开发,也可以独立测试,最后组装时再进行联合测 试。
易维护:如果需要修改系统或者扩展系统功能,只需针对特定模块进行修改或者添 加新模块。
可重用:很多模块的代码都可以不加修改地用于其他程序的开发。
举例
创维播放器、泰捷播放器的替换
HEHE
各个业务模块可以随时删除
dlna
控制栏
弹幕
备份化
原因
Android的版本分化
各个播放器的优缺点
自研播放器
设置buffer大小
音视频解码
定制化的需求
缺点
硬解依赖ROM,而不少ROM厂商实现有问题。比如crash,ANR,花屏
软解,全走CPU进行解码,占用cpu高,手机发热,耗电多,一般手机无法对1080P或者4k进行解码
系统播放器
so加载失败
ROM厂商对系统播放器支持都不错
缺点
无法完成产品的一些定制化需求
ROM厂商实现有差异
错误码不全,未知错误多
像电视上,ROM很少更新,有bug更新周期特别长,旧版本也无人维护
分片MP4无法使用
解决
多播放器互相备份
降清晰度
兼容化
原因
android 的版本分化
系统缓冲实现不一致
数据统计
正常的缓冲回抛
厂商的个性化定制
康佳走系统播放器,色彩更鲜艳
康佳有些机型走自研播放器必现花屏
厂商的遗留bug
康佳的setDisPlay 必须设置两次
解决
多播放器互为备份
已知兼容性bug,后台配置,针对机型做不同的选择
未知兼容性bug,通过插件升级
异步化
系统播放器的ANR
上报统一化
使用位置检测的方式
等等
子主题
0 条评论
下一页