Android双层框架解析 - 高焕堂
3星 · 超过75%的资源 需积分: 10 76 浏览量
更新于2024-07-30
收藏 596KB PPT 举报
"高焕堂对Android两层框架的讲解"
在Android开发中,高焕堂提出的两层框架概念是一种设计模式,旨在优化应用程序结构,提高代码的可复用性和可维护性。这种框架设计主要分为两个层次:上层的Application Programming Interface (API) 和下层的游戏引擎或核心功能模块(Engine)。
1. **框架的生成**:
框架的生成是从传统的C++应用程序理念出发,例如C++游戏应用。在传统的C++程序中,UI(用户界面)和游戏引擎是紧密耦合的。而在两层框架中,这种耦合被解耦,使得UI(AP)和引擎(Engine)可以独立发展。
2. **单层框架与双层框架**:
- **单层框架**:在这种框架中,API和Engine通常是直接关联的,API(如Java基类)会直接调用Engine(如C++ Engine)的功能。这导致了API对Engine的强依赖,限制了Engine的灵活性。
- **双层框架**:高焕堂提出的双层框架则引入了一个中间层,即C++框架(framework)。这个框架作为API和Engine之间的桥梁,降低了它们之间的耦合度。API(C++子类)通过继承C++框架的一般性基类来实现功能,而Engine(C++特殊领域基类)则专注于提供底层服务。
3. **框架的角色**:
- **降低依赖性**:框架提供了绝佳的制高点,处理线程的复杂性,减少API与Engine的直接交互,从而降低它们之间的依赖关系。
- **增强灵活性**:通过这种方式,Engine可以保持100%的自由度,方便进行版本更新和优化,适应市场变化,如“没钱就改版,改版就有钱”。
4. **Java框架与JNI**:
在Android环境中,由于Java是主要的编程语言,所以有时会使用Java框架来封装JNI(Java Native Interface),以调用C++ Engine提供的功能。Java子类会继承Java基类,这些基类可能包含JNI接口,用于与C++ Engine进行通信。
5. **Android双层框架的应用**:
- **Android双层框架之例(1)**:可能涉及到Android系统层面的组件,如硬件抽象层(HAL),它是一个C++框架,用于与设备驱动进行交互,而Java层API则通过JNI调用HAL服务。
- **Android双层框架之例(2)**:在游戏开发中,Java层负责用户交互和逻辑控制,C++ Engine负责图形渲染和物理计算。
- **Android双层框架之例(3)**:可能是指第三方库或SDK的实现,其中Java层提供易用的API,而C++层实现高性能和低级别的功能。
6. **优势**:
双层框架设计不仅提高了代码的可读性和可扩展性,还允许Engine模块独立升级,有利于模块化开发和团队协作。同时,它有助于保持应用的稳定性和兼容性,因为API的变化不会直接影响到Engine的实现。
高焕堂的Android两层框架设计理念强调了分层和解耦,为Android应用开发提供了一种高效且灵活的架构模式。通过这样的设计,开发者可以更好地管理和维护复杂的项目,同时提高软件的可维护性和适应性。
2022-07-08 上传
2013-03-19 上传
2022-07-08 上传
2011-11-07 上传
2013-07-09 上传
2013-01-07 上传
2013-01-07 上传
2010-01-18 上传
txinwei3
- 粉丝: 8
- 资源: 8
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器